Hi,
bin gerade auf ein Fehler in meinem Programm gestoßen,
der ab dem 2+ Druckauftrag entsteht -welchen ich mir nicht erklären kann
.
Das Problem ist ich lasse mir alle Daten in eine Stringlist schreiben,
beim 1.Drucken läuft auch alles glatt -
Doch danach sind nur noch schwarzen Balken auf dem Papier, wo vorher der Textstand,
die Balken sind genau solang wie der Text beim 1. Druck.
Das Problem entsteht also ab dem 2.Aufruf pro Programmstart.
Hier der Code - Hab ich was übersehen?
Delphi-Quellcode:
procedure TForm1.Drucken1Click(Sender: TObject);
var
r: TRect;
i: Integer;
begin
printdiaf1.Execute;
questprintlist:=TStringList.Create;
questprint; //FKT: Leert und holt dann die Daten zum drucken in die questprintlist
with printer do
begin
r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
Printer.Title := 'Quest drucken';
canvas.Font.Size:=12;
BeginDoc;
for i := 0 to questprintlist.Count -1 do
begin
if questprintlist.strings[i] = '<----new Page ---->' then
{begin
EndDoc; //macht einen Seitenvorschub
BeginDoc;
end}
NewPage
else
Canvas.TextOut(200,200 + (i *Canvas.TextHeight(questprintlist.Strings[i])),questprintlist.Strings[i]);
end;
Canvas.Brush.Color := clBlack;
Canvas.FrameRect(r);
EndDoc;
end;
questprintlist.free;
end;