Hoe kan ik een procedure opstarten nadat mijn mainform opgestart is?
Hoe kan ik een procedure opstarten nadat mijn mainform opgestart is?
OnCreate?
Qui custodiet ipsos custodes
Het probleem is dat ik de mainform nadat de procedure uitgevoerd is, meteen weer wil sluiten. Dit lukt niet omdat application.run nog niet is uitgevoerd.
Dan zal je waarschijnlijk OnShow moeten nemen, zet het liefst dan nog even 'Self.Update()' en 'Application.ProcessMessage()' in dat event zodat je zeker weet dat het form zichtbaar is...
Qui custodiet ipsos custodes
Of je pakt gewoon even de botte bijl methode : Application.Terminate op de OnCreate....
*Er bestaat geen bugs, alleen leerpunten*
Waarom wil je het mainform meteen weer sluiten? Als je geen mainform wilt, dan gebruik je toch gewoon geen mainform in je applicatie? Als je alleen niet wilt dat het zichtbaar is, kun je Application.ShowMainform op False zetten.
Ik kreeg dit per PM:
Peterd wrote on 04-Jul-02 13:46:
Je zult wel gemerkt hebben dat ik niet zoveel ervaring heb met Delphi, maar dit wordt snel beter hoop ik.
Nog een vraagje. De procedure wordt opgestart, maar nog voordat de form zichtbaar is. In de source staat:
begin
Application.Initialize;
Application.Title := 'Test';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
De procedure wordt al opgestart voordat Application.Run geactiveerd wordt.
Tip??
De grap is dat Application.Run in feite een loop is die doorloopt tot het main form sluit of dat Application.Terminate wordt aangeroepen, jouw event kan dus nooit aangeroepen worden na Application.Run tenzij je dit handmatig doet...
[Edit]
Tenzij je OnActivate pakt ofzo, dat soort events worden getriggerd aan de hand van Window messages die pas binnen komen als Application.Run bezig is, maar OnActivate start meer dan een keer...
Een simpele truuk voor het uitvoeren van een procedure nadat je form zichtbaar is: kwak een timer op je form, zet de Interval op bv 500 en Enabled op True, in het OnTimer event zet je dan Timer.Enabled := False en voer je de code uit...
Qui custodiet ipsos custodes
De applicatie wordt iedere dag opgestart, waarna een ftp script wordt gestart.
De voortgang van de ftp download kan via het mainform bekeken worden. Als de ftp download volbracht is, dan moet de applicatie afsluiten. Is er een andere oplossing om dit te doen?
Bedankt PsygoMark, de tip met de timer functioneerd prima!!
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks