Hallo,
ich habe mir aus mit Hilfe einer QRPreview Componente einen eigenen Preview für meinen QuickReport zusammen gebaut. Das funktioniert auch ganz gut. Allerdings hat die Sache (scheinbar) einen kleinen Haken.... Im Wesentlichen ist die Programmierung so, wie man sie in den entsprechendne Büchern findet.
Delphi-Quellcode:
procedure TALMView.SHowPreview(Sender:TObject);
begin
Form1.QRPreview1.QRPrinter:=TQRPrinter(Sender);
Form1.Show;
end;
Diese Routine wir im Hauptformular wie folgt aufgerufen;
Delphi-Quellcode:
ALMAUSWERT.Quickrep1.OnPreview := ShowPreview;
ALMAUSWERT.Quickrep1.preview;
Das Problem besteht nun darin, das in dem Form1, welches des Preview beinhaltet, auch ein CLOSE button ist, welcher den Preview eigentlich schliessen soll. Auch das funktioniert, allerdings ist das Problem, wenn die den Preview füllenden Abfrage eine große Datenmenge liefert, dann kann der Anwender schon auf den Close button drücken, ehe alle Seite aufgebaut sind. Das schließt das Fenster mit dem Preview auch sofort, allerdings bleibt die Anwendung solange unbedienbar, bis im Hintergrund doch alle Records aufgebaut sind.
Hat da vielleicht jemand eine Idee, wie man den QRPreview sofort canceln kann. Ein Destroy bringt nichts und auch ein Canceln der Abfrage auf welcher der QReprot (welche im Preview angezeigt werden soll) basiert, dauert praktisch genauso lange, wie wenn man einfach wartet....
Ich wäre für eine Idee dankbar.
Gruß
Matthias.