Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fortschrittsanzeige zum Programmstart bei DB-Upgrade (https://www.delphipraxis.net/1458-fortschrittsanzeige-zum-programmstart-bei-db-upgrade.html)

hacki 29. Nov 2002 12:35


Fortschrittsanzeige zum Programmstart bei DB-Upgrade
 
Hallo,

in der Methode FormCreate des Hauptformulars führe ich einige Strukturänderungen der Datenbank durch. Ich möchte dem Benutzer dabei
den Fortschritt anzeigen. Nun kann ich dies nicht über ein weiteres Formular mit einem TProgressBar - Objekt tun, da das zuerst geladene Formular das MAIN-Form des Programms ist und das Fortschrittsformular damit das MAIN-Formular wird.

Welche anderen Möglichkeiten habe ich, dem Anwender den Fortschritt dieses "Upgrade"-Prozesses anzueigen ? Es muß auch keine unheimlich tolle Grafik aufweisen, sondern kann auch trivial erscheinen.

Kann mir jemand helfen ? :?

Gruß HACKI

MrSpock 29. Nov 2002 12:45

Hallo Hacki,

hier habe ich einen Login beschrieben, bei dem ein Formular vor der MainForm geöffnet wird. Das gleiche kannst du auch tun. Diese Startformular sollte dann die Restrukturierung durchführen und anschließend, wenn kein Fehler aufgetreten ist, das Hauptformular öffnen lassen.

hacki 29. Nov 2002 14:11

hallo MrSpock,

unter diesem Link kann ich leider nicht passendes finden. Du verweist auf den Beitrag: "Arbeitszeitaufzeichnung - Ideen sind gefragt!" Ist das gewollt, oder hast Du dich vertan ?

Gruß Hacki

MrSpock 29. Nov 2002 21:29

Hallo hacki,

ich meinte den folgenden Hinweis, der auf Seite 2 des Links zu finden ist:

Zitat:

Du solltest das Login Formular von der automatischen Erstellung ausnehmen (Projekt|Optionen...).

Im Projektquelltext solltest du dann so was ähnliches wie das hier machen:

Delphi-Quellcode:
  Application.Initialize;
  frmLogin := TfrmLogin.Create(Application);
  if (frmLogin.ShowModal = 1) and frmLogin.PasswortOK then
  begin
     Application.CreateForm(TForm1, Form1);
     Application.Run;
  end
  else
     Application.Terminate;

Das ist eine Möglichkeit, z.B. ein Login Formular vor dem Hauptformular anzuzeigen. Du könntest stattdessen eine Fortschrittsanzeige implementieren.

hacki 3. Dez 2002 14:56

Mir ist es lieber, wenn es mit einer Fortschrittsanzeige funktionieren würde.

Hast Du denn eine Idde wie ich eine Fortschrittsanzeige einblenden kann, bevor das Hauptfenster geöffnet ist ? Ein Message Dialog könnte ich ja einblenden, der muß aber leider bestätigt werden und kann kein TProgressBar - Objekt aufnehmen. :shock:

Gruß
Hacki :idea:

MrSpock 3. Dez 2002 17:39

Hallo hacki,

in dem Beispiel, das du bei dem angegebenen Link findest, erstelle ich ein Formular (das Loginformular), dass vor dem Hauptformular angezeigt wird. Erst nach dem korrekten Login wird dann das Hauptformular geöffnet. Mein Vorschlag war ja gerade, dass du ein Formular erstellst, dass nichts anderes tut, als

1. Den Update durchzuführen
2. Den Fortschritt des Updates anzeigt
3. Nach Beendigung des Updates sich selbst wieder schließt und
4. Die Steuerung wie gezeigt an das Hauptformular übergibt


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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 by Thomas Breitkreuz