Preview en Terminal Server no pinta bien

Preview en Terminal Server no pinta bien

Postby Cgallegoa » Fri Feb 07, 2020 9:16 pm

Hola amigos.

Tengo una aplicación que corre perfectamente en cualquier computador, monousuario o en red, en cualquier versión de windows, en linux y en mac (con emulador), pero con Windows Server 2008 r2, aunque se ejecuta como un fino reloj, me da problemas con el preview.

Esta es una imagen correcta, en cualquier equipo, sistema operativo, red, etc :

Image


Esta es la imagen obtenida en cualquier equipo conectado a Windows Server 2008 r2, con fallas en el pintado de las líneas:

Image

Como podrán ver, en la segunda imagen se pierden una serie de líneas. Hemos hecho una gran cantidad de pruebas, con RPreview.prg, TMetafil.prg, etc., pero no le atinamos. Aunque no afecta el funcionamiento del programa, si hace pedazos la estética en los informes.

¿ Alguna sugerencia de cómo podemos arreglarlo ? ¿Qué podrá ser?

Gracias por su generosa ayuda
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby MOISES » Sat Feb 08, 2020 8:45 am

Instala en el servidor una impresora.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: Preview en Terminal Server no pinta bien

Postby Cgallegoa » Sat Feb 08, 2020 3:08 pm

Moisés gracias por tu respuesta.

Hay impresoras instaladas en el servidor. El inconveniente se produce usando tanto impresoras del servidor como impresoras locales.
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby armando.lagunas » Sat Feb 08, 2020 3:39 pm

hola

Windows Server 2008 r2, :| ...

primero : configura los efectos visuales en opciones de rendimiento y ajustarlos para obtener la mejor apariencia
Segundo : configura el tema de Windows 7 en "Personalizar"
Tercero: si usas fuentes especiales instaladas en el servidor también o verifica que estén instaladas en el server.

Cuarto: ( opcional ), si entras con escritorio remoto en Opciones de Escritorio remoto, "Rendimiento" elige LAN (10 Mbps o superior )

tenia el mismo problema y con esos ajustes en el servidor, todo volvió a la normalidad

saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Preview en Terminal Server no pinta bien

Postby Cgallegoa » Sat Feb 08, 2020 5:52 pm

Armando, gracias por tu guía.

La seguí al pié de la letra :) , pero el inconveniente sigue igual :cry:

Esto fue lo que hice:

1.- Me conecté con escritorio remoto, con "rendimento" en LAN (10 Mbps o superior)
2.- Conectado al servidor, entré a "Equipo/Propiedades del Sistema/Cofiguración Avanzada del Sitema/Rendimiento" y lo puse en "Ajustar para obtener la mejor apariencia"
3.- Conectado al servidor personalicé el Tema: Seleccioné "Windows 7 - Tema de Aero" y le cambié el fondo, lo cual automáticamente cambia el Tema de Windows 7 a Personalizado
Respecto a fonts, no uso ninguno especial, sólo los convencionales de siempre. Sin embargo, recuerda que el problema es con las LINEAS.

¿ Qué más hará falta ? ¿ El problema será causado por Windows Server o FWH ?

El cliente ya está que me cuelga del sitio que más duele :?
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby armando.lagunas » Sat Feb 08, 2020 7:43 pm

mmm....

otra cosa que realizo es lo siguiente:

yo utilizo una impresora virtual PDF ( DoPDF v 7 ), que la instalo en todo computador en donde se utiliza el sistema, la utilizo siempre en el interior de la aplicación, esto es para evitar reconfiguraciones especiales en el sistema por cada modelo de impresora que tenga instalada el cliente.

doPDF la seteo a 600 dpi en la configuración de la impresora.

en cada preview tengo esta linea

Code: Select all  Expand view

 SET 3DLOOK OFF
 PRINTER oPrn TO cPrintPDF PREVIEW
 


donde cPrintPDF es una variable publica en donde tengo el nombre de la impresora PDF que tengo definida en un archivo INI.

Code: Select all  Expand view

** parte del archivo INI
...
...
Impresora PDF x Defecto=doPDF v7
...
...
 


espero que sirva
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Preview en Terminal Server no pinta bien

Postby Cgallegoa » Sat Feb 08, 2020 7:58 pm

Armando gracias.

Voy a instalar DoPDF y te cuendo cómo me va.
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby Cgallegoa » Sat Feb 08, 2020 8:26 pm

Armando :cry:

- Instalé DoPDF v.10 en uno de los equipos que se conectan al sevidor, en donde estamos haciendo las pruebas

- Configuré a 600 dpi

. En el programa se asignó a DoPDF como la impresora predeterminada, e inclusive puse "SET 3DLOOK OFF" antes de PRINTER oPrn...., que no le encuentro sentido, pero es que yo soy muy obediente :D

Pero sigue sin previsualizar las líneas :(

Estando en el Preview tengo las opciones de enviar a impresora, a PDF, e inclusive hacer un "Print Screen" para pasar a Paint de Windows. En cualquier de los tres casos pone las líneas completas y perfectas. La falla es sólo en el PREVIEW de FWH.
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby armando.lagunas » Sat Feb 08, 2020 8:49 pm

genera el pdf y lo provisualizas con el reader

lo hago asi:

Code: Select all  Expand view


 QuitProgamLoad( "AcroRd32.EXE" )  // Verifica si esta abierto el Acrobat Reader Genera un GPF al estar abierto

 PRINTER oPrn TO cPrintPDF FILE ".\Temp\Cierre Proceso Productor.PDF"  PREVIEW

 IF EMPTY( oPrn:hDC )
     RETURN NIL
 ENDIF

....
....
 



Code: Select all  Expand view

//----------------------------------------------------------------------

Function QuitProgamLoad( cProceso )
 LOCAL oBj, oServ, aProcess, objProcess

 TRY
    oBj := CreateObject( "wbemScripting.SwbemLocator" )
 CATCH
    Return nil
 END

 oServ     := oBj:ConnectServer()
 aProcess  := oServ:ExecQuery( "Select * from Win32_Process" )
     For Each objProcess in aProcess
         If UPPER(objProcess:Name) = UPPER(cProceso)
            objProcess:Terminate()
         ENDIF
     next

 Return nil

//----------------------------------------------------------------------
 
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Preview en Terminal Server no pinta bien

Postby Antonio Linares » Sun Feb 09, 2020 7:24 am

Carlos,

El preview de FWH crea ficheros metafile.

Si pudieses descargar algunos de los generados en WIndows Server y visualizarlos en el PC, podriamos saber si el problema viene del metafile
ó de la visualización del metafile.

Al imprimirlos, se imprimen bien ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Preview en Terminal Server no pinta bien

Postby Cgallegoa » Sun Feb 09, 2020 9:45 am

Antonio,

Sip, se imprimen perfecto.

En resumen, los metafiles se imprimen perfecto. Si estando en el Preview das un "Print screen" y copias la imagen en Paint o cualquier editor de imágenes, se imprimen perfecto. Si desde el Preview lo envías a una impresora o a PDF, imprime perfecto, uffff, :) , cualquier prueba, imprime perfecto. El problema definitivamente es al momento en que FWH hace el paint del metafile- Puede ser en el Method PainMeta de TPreview, o en la función PlayEnhMetafile de metafi32.c, pero hasta allá no llegan mis capacidades. :( , pero con tu guía estoy seguro que podré solucionarlo.

Image
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Cgallegoa
 
Posts: 492
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Preview en Terminal Server no pinta bien

Postby karinha » Mon Feb 10, 2020 1:38 pm

Intente asi con nLogPixely(), funciona perfecto en cualcue impresora o Windows.

O muestre como estais haciendo en tu preview.

Code: Select all  Expand view


      //- Como Imprimir em Centimetros sem errar e em qualquer Impressora
      ResLinha  := oPrn:nLogPixely()/2.54
      ResColuna := oPrn:nLogPixelx()/2.54

         WHILE .NOT. EOF()

            SYSREFRESH()

            IF ( cAlias )->PRODUNOME = SPACE(30)

               SKIP

               LOOP

            ENDIF

            // LINHAS VERTICAIS E HORIZONTAIS DO PREVIEW

            // LIN VERTICAL DO LADO ESQUERDO DO QUADRO.
            oPrn:Say( nLinEsq * ResLinha, nColEsq * ResColuna,               ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinEsq  += 0.292

            // LIN VERTICAL DO MEIO
            oPrn:Say( nLinMeio * ResLinha, nColMeio * ResColuna,             ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinMeio += 0.292

            // LINHA VERTICAL DO LADO DIREITO DO QUADRO.
            oPrn:Say( nLinDir * ResLinha, nColDir * ResColuna,               ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinDir  += 0.292

            nColuna :=  1.90 // COLUNA DA QTDE.

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,                ;
               + STR( ( cAlias )->PRODUQTDE ), oFont,, CLR_BLACK,, PAD_CENTER )

            // LIN VERTICAL DO LADO ESQUERDO DO QUADRO.
            oPrn:Say( nLinEsq * ResLinha, nColEsq * ResColuna,               ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinEsq  += 0.292  // DIZIMA

            // LIN VERTICAL DO MEIO
            oPrn:Say( nLinMeio * ResLinha, nColMeio * ResColuna,             ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinMeio += 0.292

            // LIN VERTICAL DO LADO DIREITO DO QUADRO.
            oPrn:Say( nLinDir * ResLinha, nColDir * ResColuna,               ;
                + "|", oFont,, CLR_BLACK,, PAD_LEFT )

            nLinDir  += 0.292

            nColuna := 7.00 // COLUNA DO PRODUTO

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,                ;
               + ( cAlias )->PRODUNOME, oFont,, CLR_BLACK,, PAD_CENTER )

            nLinha  := nLinha += 0.20 // SEGUNDA LINHA EMBAIXO DO NOME
            nColuna := 1.60

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,                ;
                      REPLICATE( "_", 82 ), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha  := nLinha += 0.38  // PROXIMO PRODUTO


            // NOVA PAGINA AQUI // PREENCHEU O PREVIEW, PULA.
            IF nLinha >= 25.00

               nLinha   := 27.50
               nColuna  := 10.50

               ENDPAGE

               PAGE  // NOVA PAGINA, CONTINUACAO

               // LOGO
               nRow        :=   1.50  // Linha
               nCol        := 650.00  // Coluna do Logo.jpg

               @ nRow, nCol PRINT TO oPrn IMAGE "LOGO.JPG" SIZE 650, 650 LASTROW nRow


               // proxima pagina
               ++nPagina

               nLinha  := 1.00
               nColuna := 18.00

               //-> Pagina
               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                  OemToAnsi( "P g.: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ),  ;
                  oFont,, CLR_BLACK,, PAD_CENTER )

               cOrcamento  := [ORDEM DE ENTREGA]

               nLinha  := nLinha += 0.80
               nColuna :=  10.50

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                  + cOrcamento, oFontSubl,, CLR_BLACK,, PAD_CENTER )

               nLinha  := nLinha += 0.80   // LINHA DA QTDE - OK
               nColuna :=  2.70

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                  + OemToAnsi( "QTDE " ), oFont,, CLR_BLACK,, PAD_CENTER )

               nLinha  := nLinha -= 0.02
               nColuna :=  6.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                  + "PRODUTOS ", oFont,, CLR_BLACK,, PAD_CENTER )

               // QTDE / PRODUTOS - AQUI
               nLinha  := nLinha += 0.20
               nColuna := 1.60

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                  REPLICATE( "_", 83 ), oFont,, CLR_BLACK,, PAD_LEFT )

               nLinEsq  :=  6.41  // LINHA VERTICAL DA ESQUERDA DO QUADRO
               nColEsq  :=  1.50

               nLinMeio :=  6.41  //  74 LINHA VERTICAL DA ESQUERDA DO QUADRO
               nColMeio :=  3.30

               nLinDir  :=  6.41  // LINHA VERTICAL DA DIREITA DO QUADRO
               nColDir  := 19.01

               // GIRAR OS PRODUTOS DO NOVO PREVIEW: AQUI.
               nLinha   := nLinha += 0.50

            ENDIF

            SKIP

         ENDDO
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 74 guests