FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PrnGetName() falla
Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
PrnGetName() falla
Posted: Wed Mar 07, 2007 04:38 PM

Saludos a todos...
Tenia algunos meses que no me acecaba al foro...
Me agrada ver nombres que para mi son nuevos, y muchos de ellos integrandose en la ayuda al resto de los que utilizamos FW como herramienta de desarrollo.

El tema es el siguiente...
la funcion PrnGetName() arroja un bello GPF cuando una aplicacion FWH se intenta correr en un equipo donde a nivel de Windows no se haya instalado una impresora previamente...

Hay alguna forma de prevenir eso???

Gracias de antemano por los comentarios,

Giancarlo J. Sabattino S.
Valencia, Venezuela

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PrnGetName() falla
Posted: Thu Mar 08, 2007 11:15 AM
Giancarlo,

Aqui esta funcionando correctamente con FWH 7.01

Comprueba que este es el c贸digo fuente de esa funci贸n:
CLIPPER PRNGETNAME( PARAMS ) // () --> cPrinter
{
   LPDEVNAMES lpDevNames; 

   PrinterInit(); 

   if( pd.hDevNames ) 
   { 
      lpDevNames = (LPDEVNAMES) GlobalLock( pd.hDevNames ); 

      if( lpDevNames ) 
      { 
         _retc( ( LPSTR ) lpDevNames + lpDevNames->wDeviceOffset ); 
         GlobalUnlock( pd.hDevNames ); 
      } 
      else 
         _retc( "" ); 
   } 
   else 
      _retc( "" ); 
}
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
PrnGetName() falla
Posted: Thu Mar 08, 2007 12:31 PM

Hola Antonio, Saludos...

Olvide a帽adir al post que aun estoy en la edad de bronce... :)
Uso FW2.4 y xHarbour 0.993

Tambien me doy cuenta de que no hice bien el planteamiento...
El GPF en la aplicaci贸n FW/xH se presenta cuando a nivel de Windows no se ha instalado ninguna impresora (carpeta de impresoras completamente vacia) y pasa por la funci贸n PrnGetName().

Al haber al menos una impresora instalada a nivel de Windows ya el problema no se presenta.

Gracias adelantadas por tus comentarios,

Giancarlo J. Sabattino S.
Valencia, Venezuela

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PrnGetName() falla
Posted: Thu Mar 08, 2007 02:00 PM

Giancarlo,

Nosotros lo hemos probado quitando todas las impresoras de Windows y no da errores:

MsgInfo( GetPrnName() )

Muestra un MsgInfo() vacio sin texto

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
PrnGetName() falla
Posted: Thu Mar 08, 2007 02:31 PM

Si Antonio, lo que tu planteas es lo l贸gico, pero el caso es que con las versiones que estoy utilizando la funcion falla... (FW2.4 y xH0.993)

Voy a hacer unas pruebitas haciendo un programa usando solo la funcion para ver si se trata de algun elemento que pueda estar afectandola...

Gracias,

Giancarlo J. Sabattino S.
Valencia, Venezuela

Posts: 326
Joined: Sun Oct 09, 2005 05:22 PM
PrnGetName() falla
Posted: Thu Mar 08, 2007 03:34 PM

Prueba de esta forma:

  IF GetPrintDefault(GetActiveWindow())<>0
     oPrn:=PrintBegin("",.F.,,,.T.)
        oPrn:SetPage(1)
     PrintEnd()
  ELSE
     MsgAlert("Configure una impresora como predeterminada"+CRLF+ ;
              "o no podr谩 visualizar los reportes.","Precauci贸n!")
  ENDIF

Saludos.

Continue the discussion