![]() |
Programm läßt sich nicht beenden
Hallo Hilfe,
wenn ich aus meinem Programm mit dem Code:
Delphi-Quellcode:
eine Vorschau starte und wieder beende z.B. mit "close", läßt sich mein Programm nicht mehr beenden.
procedure TForm1.DruckvorschauClick(Sender: TObject);
begin with TQRPrinter.Create do begin Printerindex := -1; QRForm1.QuickRep.Page.PaperSize := PaperSize; Free; end; QRForm1.QuickRep.OnPreview := ShowPreview; QRForm1.QuickRep.Preview; end; //*************************************************************************** procedure TForm1.Showpreview(Sender: TObject); begin QRPreviewForm.QRPreview1.QRPrinter := TQRPrinter(Sender); QRPreviewForm.Show; end; Es funktioniert noch alles, aber weder auf "close" noch auf den Systembutton "X" erfolgt eine Reaktion. Auch "onClose" wird nicht aufgerufen. :?: Hat jemand eine Idee? |
Re: Programm läßt sich nicht beenden
was steht denn in "OnClose" drinn ?
|
Re: Programm läßt sich nicht beenden
Da schließe ich nur den ComPort.
Ich habe aber dort schon einen Breakpoint gesetzt: Der wird aber nicht erreicht.
Delphi-Quellcode:
OnClose der Vorschau benutze ich nicht.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin ComPort1.close; end; Ich vermute ich muß noch irgend etwas beenden oder schließen, aber was? |
Re: Programm läßt sich nicht beenden
Das müßte doch auch so aussehen:
Delphi-Quellcode:
with TQRPrinter do
begin Create; Printerindex := -1; QRForm1.QuickRep.Page.PaperSize := PaperSize; Free; end; |
Re: Programm läßt sich nicht beenden
Ich muß erst "create"n bevor ich mit QRPrinter arbeiten kann.
Aber MrKnogge hat genau die richtige Frage gestellt: :wall: Mit
Delphi-Quellcode:
funktioniert es.
procedure TQRPreviewForm.FormClose(Sender: TObject;
var Action: TCloseAction); begin QRPreview1.Destroy; end; Ich weiß zwar nicht genau warum :gruebel: aber es klappt! :bounce1: Vielen Dank noch mal. :hi: |
Re: Programm läßt sich nicht beenden
Zitat:
Mach aus dem
Delphi-Quellcode:
ein
QRPreview.Destroy
Delphi-Quellcode:
Normalerweiße ist "free" besser wie "destroy"
QRPreview.free
Spider |
Re: Programm läßt sich nicht beenden
OK
Klappt auch :hi: |
Re: Programm läßt sich nicht beenden
Zitat:
|
Re: Programm läßt sich nicht beenden
Hallo nochmal zusammen,
leider zu früh gefreut! Nachdem ich folgenden Code ergänzt habe
Delphi-Quellcode:
läßt sich mein Programm zwar beenden, aber ich kann die Vorschau nur einmal aufrufen.Beim zweiten Aufruf erfolgt eine EAccessViolation in der unten markierten Zeile. Wenn ich diese Zeile entferne, ist auch "QRPreview1.Free" nicht mehr notwendig (ich sehe zwar meinen Report nicht mehr aber ich kann Vorschau beleibig oft öffnen und das Programm beenden) ?=> Es schein noch irgendetwas activ zu sein, was das Beenden verhindert, wenn ich es aber mit Free komplett entferne wird es beim anzeigen nicht neu erzeugt.
procedure TQRPreviewForm.FormClose(Sender: TObject;
var Action: TCloseAction); begin QRPreview1.Free; end; Was ist das, und wie heißt der Busfahrer :wiejetzt:
Delphi-Quellcode:
Ich komme nicht weiter. Ich vermute da fehlen mir einige Theoretische Grundlagen.
procedure TForm1.DruckvorschauClick(Sender: TObject);
begin with TQRPrinter.Create do begin Printerindex := -1; QRForm1.QuickRep.Page.PaperSize := PaperSize; Free; end; QRForm1.QuickRep.OnPreview := ShowPreview; QRForm1.QuickRep.Preview; end; procedure TForm1.Showpreview(Sender: TObject); begin QRPreviewForm.QRPreview1.QRPrinter := TQRPrinter(Sender); // <= !!!!!!! QRPreviewForm.Show; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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