Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-01-2011
DeLiRioS DeLiRioS is offline
Miembro
 
Registrado: ene 2007
Posts: 10
Poder: 0
DeLiRioS Va por buen camino
Detectar Error al imprimir.

Buenas amigos, se que no es el foro correcto pero es que en el foro de impresión nadie pudo ayudarme, quién pueda me da una manito por favor. Utilizo delphi 7 y mysql, y necesito imprimir en una EPSON BIXOLON SPR-270 (Ticketera) imprime todo bien, pero el unico problema es el siguiente, que en el caso de que la impresora este apagada, desconectada o sin papel al momento de enviar la impresión, mi aplicación se bloquea osea se cuelga, queda en espera y debo terminar el proceso y volver entrar. Imagino que tal vez habrá que utilizar algunos comandos de la impresora, tengo el manual pero nose como aplicarlos en delphi gracias de antemano.Eh intentado con Try..excep y {$I-} ... {$I+} y nada, Este es el código:

Código Delphi [-]
Assignfile(iImpresora,'Lpt1'); //Puerto: LPT1, COM1, etc;
Rewrite(iImpresora);
Writeln(iImpresora,'Hola mundo');
Write(iImpresora, Cortapapel);
CloseFile(iImpresora);
Responder Con Cita
  #2  
Antiguo 07-01-2011
genius genius is offline
Miembro
 
Registrado: may 2006
Posts: 38
Poder: 0
genius Va por buen camino
Prueba con esto

Prueba a ver si te funciona con esto , deberias de arrojarlo en un archivo log para ver que sucede y tratar el error con try except end, suerte

Código Delphi [-]
Procedure TForm1.ShowPrinterStatus( const PrinterName : String );
Var
  PrinterInfo: PPrinterInfo2;
  PrinterHandle : THandle;
  Stat : LongBool;
  requiredSize : Cardinal;

Begin
  Try
    Stat := OpenPrinter( PChar(PrinterName), PrinterHandle, NIL ); //
This works fine

    If ( Stat )
      Then
        Begin
          Try
            GetMem( PrinterInfo, 1024 );
            Stat := GetPrinter(PrinterHandle, 2, PrinterInfo, 1024,
@requiredSize );
            Edit2.Text := 'Printer Name Is: ' +
PrinterInfo^.pPrinterName;

            Case PrinterInfo^.Status of
              0 : Edit1.Text := 'Printer Ready!';
              PRINTER_STATUS_DOOR_OPEN : Edit1.Text := 'Door Open';
              PRINTER_STATUS_POWER_SAVE : Edit1.Text := 'Power Save
Mode';
              PRINTER_STATUS_WARMING_UP : Edit1.Text := 'Warming Up';
              PRINTER_STATUS_PAPER_OUT :  Edit1.Text := 'Out of Paper';
            End;
          Finally
            FreeMem( PrinterInfo, 1024 );
          End;
        End
      Else
        Begin
          Edit1.Text := 'NA';
          Edit2.Text := 'Cannot Open Printer: ' + PrinterName;
        End;
   Finally
     ClosePrinter( PrinterHandle );
   End;
End;
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar Error de impresión. DeLiRioS Impresión 1 06-01-2011 04:35:58
Detectar error winexec grotero76 API de Windows 4 14-06-2008 19:34:58
Detectar ERROR mjjj Firebird e Interbase 5 29-04-2008 07:17:22
Error al imprimir en impresora en red santiago14 Impresión 1 04-10-2007 14:52:27
error en ntdll.dll al imprimir adebonis Impresión 1 21-02-2007 13:47:32


La franja horaria es GMT +2. Ahora son las 17:40:04.


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