Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Application.Terminate   Найти похожие ветки 

 
Майя   (2004-11-16 13:01) [0]

Как такое может быть? На Form.Create проверяю некое условие, если оно не выполнено - пишу Application.Terminate. При этом приложение не завершается, потому что From.Show тоже отрабатывает!


 
panov ©   (2004-11-16 13:06) [1]

>Майя   (16.11.04 13:01)
А может быть, проверять ДО Application.CrateForm ?


 
Zhekson   (2004-11-16 13:09) [2]

да, несозданную вещь нельзя закрыть...

Попробуйте Терминить в Form.Show.


 
Плохиш ©   (2004-11-16 13:14) [3]


> Майя   (16.11.04 13:01)  
> Как такое может быть? На Form.Create проверяю некое условие,
> если оно не выполнено - пишу Application.Terminate. При
> этом приложение не завершается, потому что From.Show тоже
> отрабатывает!

Но после этого-то приложение завершается?
Читайте справку по Application.Terminate.
А в контексте вопроса, Вам нужна команда halt, которая убивает приложение выстрелом в голову ;-)


 
Майя   (2004-11-17 08:50) [4]

ну я считала что форма в момент создания Create уже создана. Если нет, тогда конечно. Если ставлю на Show - все срабатывает.
А как можно проверять ДО Application.CreateForm?? Это главная форма.


 
KSergey ©   (2004-11-17 08:55) [5]

> [4] Майя   (17.11.04 08:50)
> А как можно проверять ДО Application.CreateForm??

Модифицировать dpr


 
kostan ©   (2004-11-17 09:09) [6]

ставить Application.Terminate; в CreateForm можно  (сам ставлю)
только до этого уничтожить ВСЕ формы созданные до этого через Destroy убрать OnShow и наверно освободить какие то ресурсы??!
halt(0) - не есть нормальное завершение
(в Win95-98 может не освободить память)


 
Дмитрий В. Белькевич   (2004-11-17 09:11) [7]

Иногда полезно исходники делфи смотреть:

procedure TApplication.Terminate;
begin
 if CallTerminateProcs then PostQuitMessage(0);
end;

В очередь добавляется сообщение о закрытиипрограммы.А когда очередь до очереди дойдет - как повезет. Формы успеют посоздаваться.


 
Семен Сорокин ©   (2004-11-17 10:06) [8]

Application.Terminate;
Application.ShowMainForm := false;


 
Майя   (2004-11-17 12:05) [9]

Спасибо, так и сделаю. Все большое спасибо.


 
_Дельфин_   (2004-11-21 18:07) [10]

А еще можно перехватывать событие создания формы - wm_Create - оно ведь посылается форме ДО того, как происходит обработка события Form1.OnCreate !


 
ламер ©   (2004-11-21 19:27) [11]

> Zhekson   (16.11.04 13:09) [2]
> да, несозданную вещь нельзя закрыть...
 какая глупость. при вызове OnCreate формы, она уже создана.

> kostan ©   (17.11.04 09:09) [6]
> (в Win95-98 может не освободить память)
 не может.



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

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

Наверх




Память: 0.49 MB
Время: 0.032 c
14-1100533760
Piter
2004-11-15 18:49
2004.12.05
Чем отличается const и resourcestring?


14-1100646539
Andy BitOff
2004-11-17 02:08
2004.12.05
Что с этим можно сделать?


6-1096269572
Leksiy
2004-09-27 11:19
2004.12.05
FTP


1-1100819353
PC
2004-11-19 02:09
2004.12.05
Найти все папки


1-1100795595
dolphin
2004-11-18 19:33
2004.12.05
Файловые переменные