Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TPrintDialog abbrechen? (https://www.delphipraxis.net/103485-tprintdialog-abbrechen.html)

Borschti 16. Nov 2007 12:07


TPrintDialog abbrechen?
 
Hallo,

ich habe ein Problem mit dem TPrintDialog und zwar wenn ich ihn öffne und dann auf Abbrechen Klicke wird mir die Fehlermeldung "nil kann nicht zu TClipboard zugewiesen werden" angezeigt.

Ich hab versucht das mit einem else Zweig in meinener If-Anweisung zu beheben dabei kam allerdings nichts brauchbares heraus, kennt das Problem vielleicht jemand und/oder weiß wie es behoben werden kann?

Schonmal Danke für alle Antworten.

mfg
Alex

DelphiKlaus 16. Nov 2007 12:09

Re: TPrintDialog abbrechen?
 
Hallo,

und wie rufst Du den Printdialog auf?

Klaus

Borschti 16. Nov 2007 12:26

Re: TPrintDialog abbrechen?
 
Also ich hab den else Zweig wieder rausgenommen da es zu einigen Fehlermeldungen geführt hat.

Delphi-Quellcode:
procedure TForm1.Drucken1Click(Sender: TObject);
begin

 if PrintDialog1.execute
    then
      Bitmap := GetFormImage;
     try
      Clipboard.Assign(Bitmap);
     with Printer do
      begin
       BeginDoc;
       Printer.Canvas.StretchDraw(Rect( 100, 0, PageWidth - 100, (PageHeight div 4)+ 1 div 3 ), Bitmap);
       EndDoc;
      end;
     finally
       Bitmap.Free;
     end;
    end;

Progman 16. Nov 2007 12:30

Re: TPrintDialog abbrechen?
 
Delphi-Quellcode:
if PrintDialog1.execute then begin
      Bitmap := GetFormImage;
     try
      Clipboard.Assign(Bitmap);
     with Printer do
      begin
       BeginDoc;
       Printer.Canvas.StretchDraw(Rect( 100, 0, PageWidth - 100, (PageHeight div 4)+ 1 div 3 ), Bitmap);
       EndDoc;
      end;
     finally
       Bitmap.Free;
     end;
    end;
end
wäre wohl besser? ;)
Bei Klick auf Abbrechen liefert execute False und der Block wird gar nicht ausgeführt.

Borschti 16. Nov 2007 12:51

Re: TPrintDialog abbrechen?
 
hmm so einfach :/

Danke dir ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz