Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programmroutine ausführen sobald Formular angezeigt wird (https://www.delphipraxis.net/28287-programmroutine-ausfuehren-sobald-formular-angezeigt-wird.html)

Ralf Stehle 22. Aug 2004 19:47


Programmroutine ausführen sobald Formular angezeigt wird
 
Ich habe ein Datenbank-Projekt mit einem Fenster.

Beim Programmstart sollen die Datenbankeinträge überprüft werden. Hierzu müssen einige Routinen ausgeführt werden.

Wenn ich diese Routinen mit dem Ereignis FormShow starte, muß der Anwender bis zu einer Minute warten, bis das Programm-Fenster angezeigt wird. Wie kann ich erst das Haupt-Formular anzeigen und sobald es sichtbar ist danach die Prüfroutinen ausführen ?

Ich habe schon versucht ein zweites Formular nach dem Hauptformular zu öffnen, aber auch das wird schneller geöffnet wie das Hauptformular mit dem Datenbank-DBGrid

Einen Timer könnte ich natürlich benutzen, aber dann werden die Routinen nicht exakt dann abgearbeitet, wenn das Formular sichtbar wurde

Ralf

Bernhard Geyer 22. Aug 2004 22:32

Re: Programmroutine ausführen sobald Formular angezeigt wird
 
Falls FormShow zu früh ist und OnTimer zu ungenau, so hätte ich noch 'ne Idee:

Start im FormCreate einen Tread und lasse Überprüfung dort abarbeiten. Im Hauptformular wird der Status dieses Threads abgeprüft und solange dieser nicht fertig ist wird ein "In Überprüfung" angezeigt. Wenn fertig wird Hautpformular freigeschaltet.

Nikolas 23. Aug 2004 00:01

Re: Programmroutine ausführen sobald Formular angezeigt wird
 
Schau dir mal Delphi-Referenz durchsuchenOnActivate an. Das wird immer ausgelöst, wenn das Form sichtbar wird. Falls du es irgendwann mal verschwinden lässt und dann wieder sichtbar machst, kannst du ja über einen Boolean überprüfen, ob die Functionen noch mal abgearbeitet werden sollen.

nailor 23. Aug 2004 01:33

Re: Programmroutine ausführen sobald Formular angezeigt wird
 
Zitat:

Zitat von Ralf Stehle
Wenn ich diese Routinen mit dem Ereignis FormShow starte, muß der Anwender bis zu einer Minute warten, [...]

ich will threads! threads! jede menge threads! ok, zwei reichen, aber bei einer minute warten wäre es echt nicht unangebracht.


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