FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Preview en Terminal Server no pinta bien
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Preview en Terminal Server no pinta bien
Posted: Fri Feb 07, 2020 09: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 :




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



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-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 08:45 AM

Instala en el servidor una impresora.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 03: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-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 03: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
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 05:52 PM
Armando, gracias por tu guía.

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

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-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 07: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 (fw): Select all Collapse
 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 (fw): Select all Collapse
** parte del archivo INI
...
...
Impresora PDF x Defecto=doPDF v7
...
...


espero que sirva
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 07:58 PM

Armando gracias.

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

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 08:26 PM
Armando :-)

- 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 :-)

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-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Preview en Terminal Server no pinta bien
Posted: Sat Feb 08, 2020 08:49 PM
genera el pdf y lo provisualizas con el reader

lo hago asi:

Code (fw): Select all Collapse
 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 (fw): Select all Collapse
//----------------------------------------------------------------------

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
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Preview en Terminal Server no pinta bien
Posted: Sun Feb 09, 2020 07: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
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Preview en Terminal Server no pinta bien
Posted: Sun Feb 09, 2020 09: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.

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Preview en Terminal Server no pinta bien
Posted: Mon Feb 10, 2020 01:38 PM
Intente asi con nLogPixely(), funciona perfecto en cualcue impresora o Windows.

O muestre como estais haciendo en tu preview.

Code (fw): Select all Collapse
      //- 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

Continue the discussion