![]() |
Bei Beenden des Programmes neue Form erzeugen
Hallo allerseits,
ich habe ein Problem mit meinem Programm. Beim Beenden des selbigen soll eine neue Form erzeugt werden. Damit soll angezeigt werden, wie weit ein Speichervorgang fortgeschritten ist. Nur wird die Form nur für den Bruchteil einer Sekunde angezeigt und zeigt mir gar keinen Speicherfortschritt an. Die neue Form wird im Destroy-Abschnitt einer anderen Form erzeugt. Wie kann ich das am besten lösen? Gruß, Chris |
Re: Bei Beenden des Programmes neue Form erzeugen
Ich würde das im OnClose/OnCloseQuery des Hauptformulares anzeigen lassen.
|
Re: Bei Beenden des Programmes neue Form erzeugen
Ich denke mit ShowModal wär dir gut gedient.
Wenn du im destroy ein Form erzeugst, aber das destroy nicht anhällst ist das Form danach ja trotzdem weg :) Mit ShowModal wird das übergeordnete program angehalten und du kannst in Ruhe deine Speicheranzeige abarbeiten. Wenn die fertig ist setzt du das modalresult entsprechend und das Program wird beendet. GreeZ HenKst |
Re: Bei Beenden des Programmes neue Form erzeugen
also entweder beendest du deine Anwendung und Ende oder du öffnest ein anderes Fenster. Eins von beiden geht nur. Was dich allerdings nicht daran hindert erst ein neues fenster anzuzeigen und wenn das geschlossen wurde deine Anwendung zu beenden.
|
Re: Bei Beenden des Programmes neue Form erzeugen
Die neue Form lass ich mir per ShowModal anzeigen und am Ende des OnDestroy wird sie auch wieder freigegeben. das Speichern der Daten mache ich in einer schleife in der ich die Progressbar um einz hochzähle und dann ein Application.Processmessages aufrufe.
Ich glaube, ich versuche das mit mit Onclose des Hauptformulars |
Re: Bei Beenden des Programmes neue Form erzeugen
öh, ich würe die Form von der Speicherroutine selber aus auf- und zumachen lassen
Delphi-Quellcode:
Dann brauche ich auch nur, wann auch immer das Speichern aufrufen und die Form wird angezeigt und wieder entfernt.
procedure SpeicherMalWasAb;
var SpeicherAnzeigeForm : TSpeicherAnzeigeForm; begin SpeicherAnzeigeForm := TSpeicherAnzeigeForm.Create( nil ); // <--- Kein Parent oder was auch immer angeben!!!! try SpeicherAnzeigeForm.Show; // Ab hier wird wild drauf los gespeichert [... SpeicherCode ...] // Fertig mit Speichern SpeicherAnzeigeForm.Close; finally SpeicherAnzeigeForm.Free; end; end; cu Oliver |
Re: Bei Beenden des Programmes neue Form erzeugen
So hab ichs. Allerdings mit dem Parent Application, hat das was zu bedeuten?
|
Re: Bei Beenden des Programmes neue Form erzeugen
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
cu Oliver |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:13 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