PDA

Ver la Versión Completa : I/O ERROR 105 +imprimir desde delphi


IVAND
01-10-2005, 20:07:33
:mad:
Hola a todos espero no molestar ,imprimir directamente en la impresora desde dephi tipo archivo , es justamente lo que hago pero me empieza a dar un error de I/O ERROR 105 que puedo hacer para superar este problema , el error me lo da despues de la primera impresion es decir imprimo una va bien vuelvo a imprimir sale el error , despues del error vuelvo a imprimir y funcioana perfecto luego vuelve a salir y asi sucesivamente .... si puedes ayudarme estaria muy agradecido

El codigo es el siguiente


Procedure imprimir(sender)
var
Txt:TextFile;
begin
AssignFile(Txt,´LPT1´);
Rewrite(Txt);
WriteLn(Txt,´Texto a Imprimir´);
{ Mas lineas a imprimir , el detalle de la factura etx }
CloseFile(Txt);
end;

Cuando va a imprimir la segunda vez el error sale en el primer Writeln y no imprime , vuelvo a intentar y imprimir y asi vuelve el error

marcoszorrilla
01-10-2005, 20:57:33
La verdad es que el caso es extraño, prueba esta variante a ver y nos dices si te ha funcionado.

Procedure imprimir(sender)
var
Txt:TextFile;
begin
Application.ProcessMessages;
AssignFile(Txt,´LPT1´);
Rewrite(Txt);
WriteLn(Txt,´Texto a Imprimir´);
Mas lineas a imprimir , el detalle de la factura etx
CloseFile(Txt);
end;


Un Saludo.

IVAND
02-10-2005, 01:48:51
Gracias x tu respuesta , pero el estupido problema persiste , despues de gastar un poco de neuronas, decidi quitar las 3 primeras lineas las cuales imprimen la cabeza de la factura

Empresa
Direccion
Fono

Y la aplicacion funciona bien , no c que pasa pero ya funciona pero no es una respuesta aceptada para mi , la consulta esta abierta asi que los datos existen

Espero alguien pueda darme una nueva luz

De antemano Gracias

marcoszorrilla
02-10-2005, 13:19:30
Y por qué no pones el código completo a ver si así se nos ocurre a alguien de donde puede venir ese fallo.

Un Saludo.

IVAND
02-10-2005, 18:10:56
Me parece excelente la idea ahora no estoy en la oficina , pero en la medida de lo posible lo colocare, ya esta funcionando solo cambie las 3 primeras lineas asignando variables a los datos y funciono ej.

A:=Data.empresa.fieldByname('Nombre_empresa').value;
B:=Data.empresa.fieldByname('RUC').value;
C:=Data.empresa.fieldByname('Direccion').value;

Writeln (Txt,A);
Writeln (Txt,B);
Writeln (Txt,C);


... Todo el codigo siguiente


Gracias

marcoszorrilla
02-10-2005, 18:51:00
Prueba este código:

Writeln (Txt,Data.empresa.fieldByname('Nombre_empresa').AsString);
....


Un Saludo.