Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   No imprimi despues de error (https://www.clubdelphi.com/foros/showthread.php?t=91884)

mRoman 24-05-2017 21:07:00

No imprimi despues de error
 
Hola amigos...

Trabajo con DELPHI 6, QuickReport 3.6.2, Firebird 2.0

Tengo un problema de impresión...es raro, explico: El sistema cuando marca cualquier error, en cualquier pantalla del sistema y posterior a el quiero imprimir,...pues no lo hace....el usuario tiene que salirse del sistema y volver a conectarse y ahora si, ya puede imprimir !!!....

COMO PUEDO SOLUCIONAR LO ANTERIOR ?, alguien ya le ha pasado?. Como se soluciona, para que el usuario no se salga y vuelva a entrar para poder imprimir?.

Les comento que esto me ha pasado con diferentes impresoras, Térmicas, Matriciales, Laser...etc..y no!, no imprime...

Gracias por su tiempo.

ecfisa 24-05-2017 22:01:17

Hola Miguel.

La descripción del problema que das es muy vaga y por tanto es improbable que podamos darte una respuesta acertada. Podría deberse al tratamiento que le das a los errores...
  • ¿ Como gestionas el control de excepciones en el programa ?
  • ¿ Algunos ejemplos errores que provocan el fallo de impresión ?
  • ¿ Algunos ejemplos de las situaciones en que se producen esos fallos ?
  • ...
Todo dato que pienses que sea relevante y puedas aportar servirá para que podamos ayudarte mejor.

Saludos :)

mRoman 27-05-2017 04:59:04

Cita:

Empezado por ecfisa (Mensaje 517116)
Hola Miguel.

La descripción del problema que das es muy vaga y por tanto es improbable que podamos darte una respuesta acertada. Podría deberse al tratamiento que le das a los errores...
  • ¿ Como gestionas el control de excepciones en el programa ?
  • ¿ Algunos ejemplos errores que provocan el fallo de impresión ?
  • ¿ Algunos ejemplos de las situaciones en que se producen esos fallos ?
  • ...
Todo dato que pienses que sea relevante y puedas aportar servirá para que podamos ayudarte mejor.

Saludos :)

Gracias ecfisa por contestar.

Mira los errores no los trato con try, except o una cosa asi....agrego algo del código:

En un formulario tengo esto en un boton:
Código Delphi [-]
procedure TfrmDetalleComanda2.sBtnImprimirClick(Sender: TObject);
begin
    ImprimirTicket2();
    ImprimirTicket2();
    stpActualizaEstatusComanda.Close;    
    stpActualizaEstatusComanda.ParamByName('nId_Registro').AsInteger:=BD.n_IDRegistro;
    //qryTicket.fieldByName('registro_id2').AsInteger;
    stpActualizaEstatusComanda.ParamByName('i_estatus_comanda').AsString:='I'; //Comanda pendiente de cobrar
    stpActualizaEstatusComanda.ParamByName('i_estatus_cuenta').AsString:='A'; //Cuenta sigue abierta
    stpActualizaEstatusComanda.ExecProc;
    stpActualizaEstatusComanda.Transaction.Commit;
    frmMesasAbiertas2.FormShow(Sender);
    Close;
end;

Y el usuario me comenta que despues de la impresión marca este error:

Código Delphi [-]
" is not a valid floating point value

El caso es que muy probablemente el error esta cuando se ejecuta el código que esta posterior a la impresión...aparte de encontrar el error, como le hago para que el usuario consulte otra comanda y la pueda mandar a impresión!!....la otra comanda marco un error, ni modo....pero ya no le permite mandar otra....porq?, no manda mensaje de nada en la segunda comanda que quieren imprimir....simplemente dan click sobre el boton....y el boton no hace nada...no ejecuta el código que puse arriba.

Por cierto mando llamar al procedimiento de impresion "ImprimirTicket2();"...2 veces porq la impresora Epson T2 (algo, no recuerdo ahorita), solo permite 1 copia...y no mas de 1, lo comento por si alguien se pregunta porque llamo 2 veces a este procedimiento.

Saludos y gracias por su tiempo.

pd. try...except..end, seria la solucion?....EL ERROR NO SIEMPRE LO MARCA EN OTRAS COMANDAS.

mRoman 30-05-2017 22:44:08

NI UNA LUZ ???....

A nadie le ha pasado, que despues de un error...cual sea este, ya no puedan imprimir???...por mas clicks q le den al boton que le asignaron para q hiciera esa tarea?.

A lo q me refiero es que marca un error...por ejemplo que un campo no lleve el dato para realizar una operacion (o cualquier otro ejemplo), luego deciden, q mejor imprimo el que sigue, para ir avanzando.....y resulta que el sistema no los deja imprimir....sino hasta que se salen de el y vuelvan a entrar y solamente asi solucionan el problema...

A alguien le ha sucedido???...Saludos a todos y gracias por su tiempo.

ecfisa 31-05-2017 04:02:11

Hola mRoman.

Cita:

Empezado por mRoman (Mensaje 517244)
" is not a valid floating point value

Por el error que mencionas, con seguridad en algún punto estas intentando convertir una cadena vacía a punto flotante.

Algunos casos de ejemplo que provocarán ese error:
Código Delphi [-]
var
  f: Double; // float,Single,Extended,
begin
  f := StrToFloat('');
 
  f := StrToFloat(Edit1.Text); // si Edit1.Text = '';

  f := StrToFloat(StringGrid1.Cells[c,f]); // si StringGrid1.Cels[c,f] = ''
...
Una solución es usar para las conversiones las funciones StrToFloatDef o TryStrToFloat según convenga mas a tu caso.

Saludos :)

mRoman 17-06-2017 00:53:12

Te agradezco Daniel....por tu tiempo.

Probaré lo q me sugieres....lamento mucho no haber contestado mas pronto...algo de trabajo me lo ha impedido.

Efectivamente realizo operaciones con punto flotante y si, casi estoy seguro que va por ahi la cosa....ya que al momento de grabar registros (dtalle de la comanda), se puede estar guardando en el campo donde almaceno el precio...pues algo que no es una cantidad valida con punto flotante.....

Lo checaré...Gracias nuevamente !


La franja horaria es GMT +2. Ahora son las 22:41:54.

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