
Delphi - ukončeni programu
Zdravím.
Bych chtěl, aby při spuštění aplikace se sama po par vteřinach ukončila.
sleep(10000);
Application.Terminate;
Ale kam s tým?
Jsem zkoušel FormShow,FormActivate a nic.
Fungovat to funguje, ale form se na ploše nevykresli.
Proč?
Jen když dam Application.Terminate do timeru tak je to funkční.
Netuším čo riešiš s funkciou Sleep ...
akurát Ti to pozastaví vykonávanie programu na počet milisekúnd, ktoré si definuješ...
Takže riešenie cez Timer je pre Teba to pravé.
Ano, o to mi jde.
Program se spust.Vykresli se na ploše form, počka se par vteřin a program se ukonči.
FormShow //form se vykresli.
sleep(10000); // počkame
Application.Terminate; // ukončime program.
Klidne to dej do form.Activate, ale pred Sleep zavolej Form.Update, pripadne Application.processmesssages, aby mel form prostor na vykresleni
Děkují, ja si myslel, že je to kravina, cpat to do timeru.
Kravina to není. Ale pokud ti nevadí, že ten program bude na 10 sekund "mrtvý", tak tohle řešení bude stačit.
Ten Timer je lepší řešení. Já ti jen napsal, proč ti to nefungovalo v OnActivate.
Dokud neproběhne Activate (a nevrátí se to do útrob komponenty), form se nevykreslí.
IMHO nejednodušíí je nacpat na form komponentu Timer, nastavit čas a do události OnTime dát Form.Close a basta fidli. Vše zařídí mechanismy komponent Delphi, o nic se nemusíš starat, vše poběží jak má.
Sleep ti umrtví program, nehneš s oknem a nic se nebude vykreslovat, uživateli se bude zdát program zaseklý a bude se ho snažit zabít.