![]() |
Re: Formular schliessen im "OnActivate"
Und was soll mir das jetzt sagen?
PS: Könnte es an ShowModal liegen? |
Re: Formular schliessen im "OnActivate"
Was ist zu "bequem" daran, eine saubere und wirklich funktionierende Lösung mit einem minimalen Mehraufwand zu schaffen?
Empfehle dir auch, die Form einfach dynamisch zu erzeugen, eine Downloadfunktion aufzurufen und diese nach Abschluss wieder mit Free zu schließen.
Delphi-Quellcode:
Das kannst du auch in eine Prozedur hauen und dann per Parameter einfach die zu ladende Datei angeben. Damit hast du auch nicht mehr als eine Zeile zum Aufrufen der Funktion.
with TMyDownloadForm.Create (Self) do
begin {...} Show; DownloadFile ({...}); Free; end; |
Re: Formular schliessen im "OnActivate"
Aber das löst mein Problem nicht!
Weil wie kann ich nach "Showmodal" bei Aufrufer Code ausführen, ohne das ShowModal zu beenden... PS: Anscheind ist da irgendwo ein bug drinne, weil es eigentlich ja funzt... |
Re: Formular schliessen im "OnActivate"
Zitat:
|
Re: Formular schliessen im "OnActivate"
Hi,
wenn es denn unbedingt modal sein muss, dann setze im OnCreatein der Form Application.OnIdle. In der Methode setzt du erst OnIdle wieder auf nil, dann führst du deinen Download aus und zum Schluss das Close. Damit startet der Download erst, wenn das Form angezeigt wird etc. Cu, Frank [EDIT]
Delphi-Quellcode:
[/EDIT]
procedure TForm1.FormCreate(Sender: TObject);
begin Application.OnIdle := ApplicationIdle; end; procedure TForm1.ApplicationIdle(Sender: TObject; var Done: Boolean); begin Application.OnIdle := nil; // Dowloadroutine Application.ProcessMessages; Close; end; |
Re: Formular schliessen im "OnActivate"
Zitat:
Zitat:
Zitat:
Zu dataspiders lösung: So müsste es gehen... |
Re: Formular schliessen im "OnActivate"
Zitat:
Du kannst doch was dynamisch erstellen, ausführen, und zu deiner Hauptprozedur zurückkehren. Dein Showmodal wartet doch darauf bis das Form geschlossen wird. Oder versteh ich da jetzt alles verkehrt? |
Re: Formular schliessen im "OnActivate"
Wenn es unbedingt Modal sein muss, dann mach die Downloadroutine in einen Thread (Forumssuche nach TThread oder Google) und rufe diese vor ShowModal auf.
Delphi-Quellcode:
with TMyDownloadForm.Create (Self) do
begin {...} DownloadFile ({...}); // Startet einen Thread zum DL ShowModal; Free; end; |
Re: Formular schliessen im "OnActivate"
Zitat:
|
Re: Formular schliessen im "OnActivate"
Hallo Fabian,
schau dir doch einmal ![]() Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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