Главная страница
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.046 c
3-1082742571
HPR
2004-04-23 21:49
2004.05.23
Реструктуризация таблицы


3-1083057992
}|{yk
2004-04-27 13:26
2004.05.23
Функции возвращающие набор данных в Оракле


6-1081243802
Mihail
2004-04-06 13:30
2004.05.23
Уважаемые мастера! Такой вопрос - мне нужно узнать IP адреса всех


8-1078455124
fidres
2004-03-05 05:52
2004.05.23
Поисковая система


4-1081421233
Makhanev A.S.
2004-04-08 14:47
2004.05.23
как отличить системное окно от обычного?