Error impresora en Vista

Post Reply
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Error impresora en Vista

Post by Manuel Valdenebro »

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
Un saludo

Manuel
User avatar
Kleyber
Posts: 581
Joined: Tue Oct 11, 2005 11:28 am
Location: São Luiz, Brasil

Re: Error impresora en Vista

Post by Kleyber »

Hola Manuel,

Mira esto: http://forums.fivetechsupport.com/viewt ... sta#p57341

Espero te ayude.

Saludos,
Kleyber Derick

FWH / xHb / xDevStudio / SQLLIB
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Error impresora en Vista

Post by Manuel Valdenebro »

Kleyber wrote:Hola Manuel,

Mira esto: http://forums.fivetechsupport.com/viewt ... sta#p57341

Espero te ayude.
Muchas gracias Kleiber por tu ayuda.

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
dobfivewin
Posts: 325
Joined: Sun Feb 03, 2008 11:04 pm
Location: Argetnina

Re: Error impresora en Vista

Post by dobfivewin »

Hola estimado

pudiste solucionar este problema ?

Gracias

David
Argentina
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: Error impresora en Vista

Post by Manuel Valdenebro »

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

Manuel
Post Reply