PDA

Ver la Versión Completa : OpenPrinter no compila.


josemmerida
27-04-2005, 11:07:53
De los trucos del club tengo este codigo :


procedure ImprimirApi;
var
H,Size:Integer;
Info:PAddJobInfo1;
F:TextFile;
begin
with Printer do
OpenPrinter(PChar(Printers[PrinterIndex]),H,nil); // <------ aqui falla
GetMem(Info,1000);
try
AddJob(H,1,Info,1000,Size);
AssignFile(F,Info^.Path);
Rewrite(F);
try
Writeln(F,'Linea1');
Writeln(F,'Linea2');
Writeln(F,'Linea3');
Writeln(F,'Linea4');
Writeln(F,'Linea5');
Writeln(F,'Linea6');
Writeln(F,'Linea7');
Writeln(F,'Linea8');
finally
CloseFile(F);
end;
ScheduleJob(H,Info^.JobId);
finally
FreeMem(Info,1000);
ClosePrinter(H);
end;
end;

Pues resulta que al compilar se para en la linea :

OpenPrinter(PChar(Printers[PrinterIndex]),H,nil);

y me dice "Types of actual formal and var parameters must be identical".

Debe ser algo sencillo, pero de Api ando muy verde :confused:

¿Alguien me ilumina?.

Gracias Anticipadas y saludos.

Neftali [Germán.Estévez]
27-04-2005, 12:28:09
Antes de nada, te recomiendo que utilices TAG's (Utilización de TAG's (http://www.clubdelphi.com/foros/misc.php?do=bbcode)) en tus mensajes, ya que facilitará la lectura de código (en éste caso te lo modifico yo).

En cuanto al error de compilación, prueba a cambiar la deficición de las variables H,Size de integer a Cardinal. Creo que con eso debería bastar.


procedure ImprimirApi;
var
Size, H:Cardinal;
Info: PAddJobInfo1;
F: TextFile;
begin