Einzelnen Beitrag anzeigen

Black07

Registriert seit: 10. Jun 2007
24 Beiträge
 
#1

Help !!! - Wo ist steckt der Fehler ab dem 2. Druckaufruf.

  Alt 1. Aug 2007, 20:26
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;
  Mit Zitat antworten Zitat