Jak zamknąć program w oncreate?

0

Witam,

mam taki problem, mianowicie w trakcie uruchamiania programu(1) sprawdzam pewien parametr. Gdy ten parametr mi się nie zgadza, chce uruchomić inny program(2) i zamknąć program(1).

Problem polega na tym, że Close; nie działa w oncreate. Jak można zamknąć taki program?
Mógłbym ukryć formę, dodać timera i w kodzie timera wyłączać go(timera) i program. ale to rozwiązanie jest chyba dość nieeleganckie.

Pozdrawiam.

1

To sprawdzaj warunki zanim przystąpisz do kreowania formatki, może to być np w pliku dpr.

b

0

Ok, to co podałeś to działa. Pozostaje jeszcze problem uruchomienia innego programu.

nie wiem co dodać do uses przy:

WinExec('Project2.exe', SW_SHOW);

bo przy:

ShellExecute(Handle, 'open', 'Project2.exe', nil, 'C:\', SW_SHOWNORMAL);

to trzeba dodać ShellApi i coś jeszcze. Ale ta 1-sza metoda była by szybsza.

1

W OnCreate zakończyć program możesz np. przez:

Halt(0);

lub

Application.Terminate;

przy czym pierwsza z tych metod jest lepsza, bo nie powoduje mignięcia okna programu.

Funkcja WinExec zadeklarowana jest w module Windows

I na przyszłość takie pytania Newbie (i i tak nie bardzo tam się nie kwalifikują).

0

cimak, ja jak coś robię w delphi to raz na kwartał, a nie na co dzień. Na co dzień to ja piszę strony internetowe, a że jakoś to umiem i ogarniam, to nie zadaje takich pytań. Irytują mnie trochę takie uwagi.

Problem uważam za rozwiązany. Dziękuję za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1