Aaaaalso...
ganz genau könnte es dir sicher chaosben erklären. Aber der hat sich heut Urlaub genommen
Es könnte an dem Inhalt der übergebenen Args liegen. Aber genaueres kann ich dir leider nicht sagen.
Im Anhang liegt eine Wrapperklasse. Ich weiß nicht genau, ob die von chaosben stammt oder ob die jemand anderes "verbrochen" hat. Ich gehe mal davon aus, daß sie von ihm ist.
es sollte zumindest unter BDS2006 laufen. Ich denke nicht, daß die ganze Sache unicodetauglich ist... wer Spaß dran hat kann das Ganze ja auch weiterentwickeln.
Anzuwenden ist die Klasse so:
Delphi-Quellcode:
procedure TForm1.DoIt;
var
Wrap : TGSWrapper;
idx : INteger;
Inst : TGSInstance;
begin
ReportMemoryLeaksOnShutdown:=true;
Wrap:=TGSWrapper.Create('M:\Runtime\GS\gs8.54\bin\gsdll32.dll');
try
inst:=Wrap.Instance;
//Die folgenden Events sollten in TForm1 definiert sein.
Inst.OnStdOut:=OnStdOut;
Inst.OnStdErr:=OnStdErr;
Inst.OnStdIn:=OnStdIn;
inst.OnNewPage:=OnNewPage;
cnt:=0;
printer.BeginDoc;
//aktuell steht in Memo1
//-sDEVICE=display
//-dNOPAUSE
//-dDisplayFormat=198660
//-r75
//l:\project\software\test.pdf
//zum drucken einer PDF
Inst.InitWithArgs(Memo1.Lines);
printer.EndDoc;
finally
Wrap.Free;
end;
end;
Gruß
Marco