Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: 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 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
3-1083066585
strelok-47
2004-04-27 15:49
2004.05.23
Работа с MS SQL через OLE, ошибка подсоеденения


3-1083090923
Михалычъ
2004-04-27 22:35
2004.05.23
Передвижение по полям


3-1083135955
Dina
2004-04-28 11:05
2004.05.23
существование поля в таблице INTERBASE ?


9-1071243483
KefiR™
2003-12-12 18:38
2004.05.23
Мой движок


1-1083813352
Vilux
2004-05-06 07:15
2004.05.23
Кол-во дней между двумя датами