![]() |
QuickReport: Druckvorschau modal anzeigen
Liste der Anhänge anzeigen (Anzahl: 2)
Hi!
Ich verwende in meinem Programm den QuickReport. Wenn ein Anwender nun im Menü "Datei" den Menüpunkt "Drucken" wählt, lasse ich einen Dialog zur Druckeinstellung anzeigen. Erst nachdem der Anwender diverse Einstellungen in diesem Dialog getätigt hat, wird der eigentliche Report generiert, d.h. die Druckvorschau von QuickReport wird angezeigt. Folgendes Problem: Da der Druckeinstellungsdialog während der Vorschau noch aktiv ist, kann der Anwender mehrere Druckvorschaufenster öffnen. Wird eines dieser Vorschaufenster nun wieder geschlossen, lässt sich auch das Formular zur Druckeinstellung schließen und das Schließen der restlichen Vorschaufenster führt zu einer Access Violation. Genug um den heißen Brei geredet. Mit dem Projekt im Anhang lässt sich dieser Fehler wunderbar reproduzieren: - "Drucken" - mehrmals auf "Druckvorschau" klicken (2x reicht aus) - eine dieser nun entstandenen Vorschaufenster schließen - "formPrint" schließen - eine weitere Druckvorschau schließen -> Zugriffsverletzung Wie kann ich eine QuickReport-Vorschau modal anzeigen lassen, so dass der Anwender meiner Software gar nicht erst mehrere Vorschaufenster öffnen kann :?: |
Re: QuickReport: Druckvorschau modal anzeigen
Zitat:
Mfg Frank |
Re: QuickReport: Druckvorschau modal anzeigen
Genial! Danke dir :-D
|
Re: QuickReport: Druckvorschau modal anzeigen
Zu früh gefreut. Habe beim Testen mit PreviewModal bemerkt, dass einige Bilder, die ich im OnNeedData-Ereignis des Reports lade, einfach schwarz bleiben :cry: In der QuickReport-Hilfe bin ich auf Folgendes gestoßen:
Zitat:
|
Re: QuickReport: Druckvorschau modal anzeigen
Moin,
ich mache dann immer das Formular unsichtbar...
Delphi-Quellcode:
MfG
Report:=TMyReport.create;
try Self.Visible:=false; Report.preview; finally Report.free; Self.Visible:=true; end; Thorsten |
Re: QuickReport: Druckvorschau modal anzeigen
Unsichtbar ist aber auchnicht so schön, da hätte ich als Anwender den Eindruck ich hätte was falsch gemacht und das Programm hätte sich beendet. Ich würde einfach das Foemular deaktiviren mit TForm.Enabled := False;
|
Re: QuickReport: Druckvorschau modal anzeigen
Moin,
es ist ja nicht so, dass man dann nichts mehr sieht. Das Quickreport-Formular ist dann im Vordergrund und wenn diese Form minimiert wird, sieht man die Anwendung nicht. Die Anwendung ist dann eben nur noch das Vorschaufenster des Reports. Ich finde das nun nicht unbedingt so super schlimm, aber gut dann eben enabled:=false, wenn das besser gefällt - bitte. MfG Thorsten |
Re: QuickReport: Druckvorschau modal anzeigen
So, nun klappt die Sache wirklich. Da das Formular selbst schon modal angezeigt wird, kann ich Enabled nicht False setzen. Stattdessen deaktiviere ich die einzelnen Elemente auf dem Formular.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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