En una aplicación que viene corriendo, desde hace años, perfectamente, un cliente me detecta un error al ejecutar el programa en Windows Vista.
El error se produce tanto al imprimir con Printer como con Report y es el siguiente:
La primera vez que imprime algo lo hace correctamente, pero cuando intenta imprimir una segunda vez, sea la misma opción o en otra pantalla, sale el siguiente aviso de la clase Tprinter: There are not printers installed. Please exit this application .....
y el siguiente error.log:
Error BASE/1605 Invalid self: NEW
Args:
[ 1] = O Object
[ 2] = U
Stack Calls
===========
Called from: report.prg => TREPORT:NEW(282)
Called from: .\source\classes\PDREPORT.PRG => RPTBEGIN(0)
He probado la aplicación en un equipo propio, donde tengo instalado Vista y desgraciadamente se repite el dichoso error.
¿Como puede solucionarse este problema? ¿Alguien puede ayudarme?
Un saludo
Error impresora en Vista
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
Error impresora en Vista
Un saludo
Manuel
Manuel
Re: Error impresora en Vista
Hola Manuel,
Mira esto: http://forums.fivetechsupport.com/viewt ... sta#p57341
Espero te ayude.
Saludos,
Mira esto: http://forums.fivetechsupport.com/viewt ... sta#p57341
Espero te ayude.
Saludos,
Kleyber Derick
FWH / xHb / xDevStudio / SQLLIB
FWH / xHb / xDevStudio / SQLLIB
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
Re: Error impresora en Vista
Muchas gracias Kleiber por tu ayuda.Kleyber wrote:Hola Manuel,
Mira esto: http://forums.fivetechsupport.com/viewt ... sta#p57341
Espero te ayude.
Mi problema es que yo tengo incluido en la clase rpreviews, una función para cambiar "online" de impresora, que es muy util y que viene funcionando perfectamente en XP.
Esta es la función:
func f_CamImpre (oDevice, cCbx )
local cPrinter
// impresora predeterminada
cPrinter := GetProfString( "windows", "device" , "" )
// instalamos la impresora elegida
WriteProfString( "windows", "device", cCbx )
// refrescamos el sistema
SysRefresh()
//iniciamos impresora
PrinterInit()
DeleteDC( oDevice:hDC ) // Sugestion by Enrico M. Giordano
// temporal printer
oDevice:hDC := GetPrintDefault( GetActiveWindow() )
SysRefresh()
// default printer again
WriteProfString( "windows", "device", cPrinter )
RETURN nil
He leido a Richard, pero la verdad, no sé como cambiar esta función para incluirle los puertos y que me funcione en Vista.
Muchas gracias de nuevo y un saludo.
Manuel
Un saludo
Manuel
Manuel
-
- Posts: 325
- Joined: Sun Feb 03, 2008 11:04 pm
- Location: Argetnina
Re: Error impresora en Vista
Hola estimado
pudiste solucionar este problema ?
Gracias
David
Argentina
pudiste solucionar este problema ?
Gracias
David
Argentina
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
Re: Error impresora en Vista
Lo solucioné, pero suprimiendo en Rpreview la opción para cambiar de impresora. Eso funciona en XP pero no en Vista.
Un saludo
Un saludo
Un saludo
Manuel
Manuel