Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Abbruch eines QRPreview (https://www.delphipraxis.net/51293-abbruch-eines-qrpreview.html)

mrose 9. Aug 2005 22:09

Datenbank: MS-Access • Zugriff über: ADO

Abbruch eines QRPreview
 
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.

x000x 9. Aug 2005 22:45

Re: Abbruch eines QRPreview
 
Moin moin,
Zitat:

Zitat von mrose
Ich wäre für eine Idee dankbar.

Als Idee vieleicht: Lager die Abfrage in einen eigenen Thread aus...
Wenn das canceln der Querys lange dauert, wäre es in diesem Fall "egal"; Mit der
Anwenung könnte trotzdem weitergearbeitet werden...
Ob (und wie) es überhaupt möglich ist, kann ich dir nicht sagen, dazu kenn ich mich zu wenig mit
Quickreport aus... wie gesagt, als Anregung...

omata 10. Aug 2005 00:31

Re: Abbruch eines QRPreview
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

habe mal ein Beispiel zusammengestellt.
Dort kann man über ESC den Report beenden/abbrechen.

Im Beispiel muss folgendes angepasst werden:
- Connectionstring (in der ADOConnection in MainU)
- SQL-Anweisung (der ADOQuery im Konstructor des Report in QReportU)
- Anzeige-Feld (Datafeld vom QRLabel in QReportU)

Vielleicht hilft das ja weiter...

MfG
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 Uhr.

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