Вниз
Скачать: CL | DM;

Корректное завершение программы.   Найти похожие ветки 

 
Daniel   (2004-05-05 16:33) [0]

При обнаружении ошибки или при вводе неверного пароля нужно корректно закрыть программу, то есть так, чтобы вызвались Form.Destroy всех форм.
После Application.Terminate надо всегда ставить Exit, потому что сам метод terminate только отсылает QuitMessage и из процедуры выхода не происходит.
Есть ли более корректные способы завершения программы?


 
panov ©   (2004-05-05 16:35) [1]

Application.MainForm.Close;


 
Daniel   (2004-05-05 16:41) [2]

panov ©   (05.05.04 16:35) [1]

O! Сэнкс. Я только хотел написать, что остальные формы не знают о главной :)))

 Сюда же вопрос №2:
 а если приложение "бесформенное"? ExitProcess?


 
panov ©   (2004-05-05 16:42) [3]

А если без форм, то программа должна выполнить последний оператор и закончиться.
Также в люб ой момент можно использовать процедуру Exit.


 
Palladin ©   (2004-05-05 16:51) [4]

точнее halt


 
Vlad Oshin ©   (2004-05-05 16:54) [5]


> halt(0), раз сам завершаешь и считаешь это корретным


 
Daniel   (2004-05-05 17:03) [6]

А если это происходит в MainForm.OnCreate, то Application.MainForm.Close; вызывает AccessViolation! Не пойму почему.
 И как тогда действовать? Ведь если просто написать Close, то:

if Application.MainForm = Self then Application.Terminate
<C> VCL


 
VMcL ©   (2004-05-05 17:44) [7]

>>Daniel  (05.05.04 17:03) [6]

PostQuitMessage(...)
?


 
Daniel   (2004-05-05 21:16) [8]

VMcL ©   (05.05.04 17:44) [7]

 Да ведь application.terminate только и делает, что PostQuitMessage() вызывает. Поэтому приходится после application.terminate всегда Exit писать. Вот я и спрашиваю о других методах.


 
Jack128 ©   (2004-05-05 21:23) [9]


> Поэтому приходится после application.terminate всегда Exit
> писать.
а что это так сложно??


 
Mim1 ©   (2004-05-05 21:23) [10]

> А если это происходит в MainForm.OnCreate, то Application.
> MainForm.Close; вызывает AccessViolation!

MainForm.Release


 
Drakon ©   (2004-05-05 22:57) [11]

Halt



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
1-1083841826
griban
2004-05-06 15:10
2004.05.23
StringGrid


1-1083743032
andsoft
2004-05-05 11:43
2004.05.23
Помогите кто может


3-1082912534
windows
2004-04-25 21:02
2004.05.23
изменение dbgrid


1-1083743709
half_litre
2004-05-05 11:55
2004.05.23
Переход с Delphi 3 на Delphi 7


3-1083167030
Юрий
2004-04-28 19:43
2004.05.23
Индексация DBase III




   Наверх