Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi PrintDialog führt zum Absturz (https://www.delphipraxis.net/56234-printdialog-fuehrt-zum-absturz.html)

SteffenSchm 2. Nov 2005 16:30


PrintDialog führt zum Absturz
 
Hallo alle zusammen,

mein Programm stürzt schon beim Programmaufruf ab, wenn auf dem PC kein Drucker installiert. Wenn ich das Programm unter Delphi laufen lasse, bekomme ich die etwas ausführlichere Meldung:

Zitat:

Fehler beim Lesen von PrintDialog.Copies: Zur Zeit ist kein Stadarddrucker gewählt.
Den Delphi-Standard-Dialog TPrintDialog habe ich direkt auf MainForm gezogen. Ich hatte eigentlich erwartet, dass die Delphi-Standard-Komponenten mit solchen Fällen (kein Drucker installiert) umgehen können.

Gibt es eine einfache Möglichkeit den Absturz in dem speziellen Fall zu vermeiden? Hat jemand eine ähnliche Erfahrung gemacht ?

Lannes 2. Nov 2005 17:43

Re: PrintDialog führt zum Absturz
 
Hallo,

schau Dir mal TPrintDialog.Options an, und dort die Konstate poWarning.
Eventuell hilft Dir auch TPrinter.Printers weiter, diese Eigenschaft enthält eine Liste der installierten Drucker.

kingflo 3. Nov 2005 13:11

Re: PrintDialog führt zum Absturz
 
Kann man den Dialog sonst nicht mit

try
dialog.execute;
except

end;

aufrufen?

sh17 3. Nov 2005 13:45

Re: PrintDialog führt zum Absturz
 
PrintDialog von Hand bei Bedarf erzeugen, falls Printers.Count > 0

SteffenSchm 3. Nov 2005 14:32

Re: PrintDialog führt zum Absturz
 
Änderungen an TPrintDialog.Options bringt keine Änderung am Verhalten.

Ich habe jetzt den PrintDialog vom Hauptformular entfernt und ihn stattdessen mit Create in jeder Routine, in der ich ihne einsetzen wollte erzeugt (und natürlich mitr Free wieder freigegeben).

In diesem Fall reagiert das Programm korrekt. Wenn kein Drucker installiert ist erscheint eine Meldung ohne dass das Programm abstürzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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