Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
'peta' el spoolsv.exe al lanzar a imprimir quickReport

Hola a todos, pues la verdad es que tengo un problema y no pequeño. Estoy usando Delphi 5, quickReport 3 (que viene con delphi) e Interbase 6.
El problema me ocurre cuando le doy al boton que me aparece en el informe generado con quickReport, que al pulsarlo para imprimir el informe me da error de impresion y no solo eso sino que a partir de este momento ya no puedo imprimir nada mas y me toca entrar a modo a prueba de fallos para eliminar las impresoras que tengo instaladas en la carpeta C:\windows\system32\spool , tal vez piensen que soy un bestia pero como me falla el spoolsv.exe no puedo entrar en la carpeta de impresoras del explorador de windows y si paro el proceso si puedo entrar pero no veo ninguna impresora pues no esta funcionando el proceso.

Tal vez lo he explicado un poco complicado pero esto es lo que ocurre y ahora no se muy bien como mandar a imprimir o si he de añadir algun codigo para esta funcionalidad pues tb me da un poco de miedo por no tener que hacer el proceso anterior para restablecer la impresora. Porfavor, estoy muy perdido con este problema, alguien me podria ayudar?, muchas gracias de antemano por cualquier comentario, un saludo.
Responder Con Cita
  #2  
Antiguo 03-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En QReport 3 hay un error conocido si trabajas con windows 2000 o superior, la variable de entorno TEMP debe estar establecida en c:\temp, en estos sistemas operativos viene definida como "c:\document and settings....", Una ruta demasiado larga para Qreports. Puede que no sea tu problema.... pero en fins.

Amén de esto, quizás un poco de código sobre como mandas a imprimir, quizás sea de ayuda para nosotros.

Un saludo y suerte Maestro !!
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 04-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
Muchas gracias por la respuesta, pero como cambio la variable temp? y bueno el tema esta en que yo solo utilizo el boton que me pone quickreport en la vista previa para mandar a imprimir sin añadir ningun codigo para este cometido, creia que el propio quick report se encargaba de enviarlo a imprimir. Me podrias dar alguna pista de como mandar a imprimir un informe?. Muchisimas gracias de antemano.
Responder Con Cita
  #4  
Antiguo 04-06-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El fallo que comentas lo resolverás con la información que te pasa Lepe. En cuanto a cómo imprimir un informe directamente, es decir sin tener que pasar por la visa previa es muy fácil.
Código Delphi [-]
 procedure TfrConSocios.SpPrintClick(Sender: TObject);
 begin
 Application.CreateForm(TfrLstsocios, frLstSocios);
 frLstSocios.ListaSocios.Print;
 frLstSocios.Close;
 end;

Siendo listaSocios en este ejemplo el obejto QuickRep.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 06-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
perdón por no responder antes, (se me fue la olla)

boton derecho sobre Mi Pc, propiedades, opciones avanzadas, boton de variables de entorno, y usa el botón modificar.

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 16-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
Pues lo siento pero despues de actualizar la variable TEMP y mandar el informe a imprimir con el comando print, no hay manera que me imprima
Responder Con Cita
  #7  
Antiguo 16-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
La verdad es que no tengo ni idea, quizás dando más datos se nos ocurra algo.

Has intentado imprimir en otra impresora?, es matricial por casualidad?, imprimes gráficos ? uff, no sé es tirar piedras al cielo

¿Puedes poner el código que usas para el boton imprimir? base de datos, motor de BBDD usas, y el windows... que en principio será el XP.

Más bien creo que
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 16-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
Intento imprimir en una impresora laser que esta en red, utilizo Delphi 5, Interbase 6, quickreport 3 que viene con delphi 5. He intentado imprimir desde otro ordenador y nada, no le he puesto codigo en principio pues como el preview ya incorpora los botones de imprimir intentaba utilizar estos. Despues he intentado mandar el quickreport a imprimir haciendo quickreport1.print pero tb da error, aparece una barra de estado como que esta enviado a imprimir y a continuacion da el error de "spoolsv.exe a detectado un error y debe cerrarse". Realmente estoy desesperado pues estoy casi un mes con (si me lo permites) este puto error que me esta consumiendo y no se como solucionarlo. Por favor pideme cualquier informacion que creas oportuna que te la mando, muchas gracias por el interes.
Responder Con Cita
  #9  
Antiguo 16-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
perdona te pongo mas cosas:

- es Windows XP
-no tengo graficos ni parecido sino solo texto que obtendo de un query a un store procedure

te añado aqui el codigo con el que invoco al formulario que contine el quickreport:

procedure TFPrincipal.General1Click(Sender: TObject);
var
fparam:TFIntroParametros;
finforme:TFInformeIncentivos;
fini,ffin:TDateTime;
begin
fparam:=TFIntroParametros.crea_fecha(FPrincipal);
fparam.ShowModal;
if(fparam.obtener_seccion<>'-1')then
begin
fini:= fparam.obtener_inicio;
ffin:=fparam.obtener_fin;
finforme:=TFInformeIncentivos.crear(FPrincipal,fini,ffin);
finforme.QuickRep1.Page.Orientation:=poLandscape;
finforme.QuickRep1.Preview;

end;
end;

El TFIntroParametros.crea_fecha(FPrincipal) es un formulario que utilizo para pedir parametros que para este caso son la fecha inicio y la fecha fin. He de decir por si no lo comente que el preview si sale bien. Saludos
Responder Con Cita
  #10  
Antiguo 16-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código Delphi [-]
procedure TFPrincipal.General1Click(Sender: TObject);
var
fparam:TFIntroParametros;
finforme:TFInformeIncentivos;
fini,ffin:TDateTime;
begin
  fparam:=TFIntroParametros.crea_fecha(FPrincipal);
  fparam.ShowModal;
  if(fparam.obtener_seccion<>'-1')then
  begin
    fini:= fparam.obtener_inicio;
    ffin:=fparam.obtener_fin;
    finforme:=TFInformeIncentivos.crear(nil,fini,ffin);
    finforme.QuickRep1.Page.Orientation:=poLandscape;
    finforme.QuickRep1.PreviewModal;

    freeandnil(finforme);
  end;
end;

He hecho 2 modificaciones, al parecer, TFInformeIncentivos tiene como parametros en el constructor, el Aowner, y las dos fechas. Yo he puesto el Aowner (dueño) a nil, con lo cual estoy diciendo que nadie se encargue de destruir ese objeto, que lo hago yo mismo, en el comando freeandnil.

Tambien he puesto PreviewModal, para que la ejecución de esa ventana se pare en esa linea, y justo cuando se cierre la presentación preliminar, se libere la ventana y lógicamente el informe.

Con esto debe rular de miedo.

Ese query, cuando los abres y cierras?

PD: Por cierto, de que BBDD estamos hablando y qué método de acceso, BDE, ADO...¿?

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 16-06-2005
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 19
manolop Va por buen camino
Uso Interbase 6 y el modo de acceso...BDE pues utilizo los componentes de interbase, IBQuery,IBDataSet.....

Antes de probar lo que me has enviado he de decir una cosa, probando a instalar una impresora en mi equipo (pues todas son en red), he comprobado que si imprime simplemente con el boton de imprimir de quickreport, por lo que el problema parece ser al imprimir en red, aunque esto deberia tratarlo el propio Operativo, no?. Ya te cuento como va tu solucion, muchisimas gracias por tu seguro preciado tiempo, saludos.
Responder Con Cita
  #12  
Antiguo 16-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
A que es la maldición de la red????

Supongo que ya lo has probado, si no, ve a las propiedades de esa impresora y en el apartado de opciones avanzadas, cambiale el método de imprimir:

- Imprimir de inmediato
- Imprimir directamente en la impresora.

Y por supuesto decirle que "siempre está disponible". Prueba con todos los métodos a ver si hay suerte.

Prueba a abrir el entorno de red, y mediante él, acceder hasta las propiedades de esa impresora en red, despues, envia a imprimir algo desde tu programa; se trata de que windows "conecte" con esa impresora justo antes de imprimir, ya que por defecto, en el explorador de windows, enumera los recursos compartidos, pero no comprueba que estan activos hasta que le das un par de clics.

Si todo esto falla, me rindo y no te mareo más . Digo yo que tocando todos los temas, alguno de ellos será el fallo no?
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:04:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi