Jak zamknąć program w oncreate?

Jak zamknąć program w oncreate?
siekierzyński
  • Rejestracja:prawie 18 lat
  • Ostatnio:około rok
  • Postów:118
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.

b0bik
  • Rejestracja:około 22 lata
  • Ostatnio:około miesiąc
  • Postów:1112
1

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

b

siekierzyński
  • Rejestracja:prawie 18 lat
  • Ostatnio:około rok
  • Postów:118
0

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

nie wiem co dodać do uses przy:

Kopiuj
WinExec('Project2.exe', SW_SHOW);

bo przy:

Kopiuj
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.

edytowany 1x, ostatnio: siekierzyński
MA
WinExec nie potrzebuje dodatkowej deklaracji modułu, ale lepiej użyj funkcji CreateProcess, wczoraj o tym pisałem w temacie "CreateProcess bez cmd".
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Gorlice
1

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

Kopiuj
Halt(0);

lub

Kopiuj
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ą).


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
cimak
rany, pytajacy jest zarejestrowany na tym forum od 4 lat ale wiedzy wiele nie przybylo...
siekierzyński
  • Rejestracja:prawie 18 lat
  • Ostatnio:około rok
  • Postów:118
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.

edytowany 1x, ostatnio: siekierzyński

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.