Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.028 c
14-1100779938
Baks
2004-11-18 15:12
2004.12.05
Кнопки


1-1100689264
Balkon
2004-11-17 14:01
2004.12.05
Совместный доступ двух потоков к объекту TQueue


3-1099989419
Uran
2004-11-09 11:36
2004.12.05
Создание dbf в runtime


14-1100628533
ИМХО
2004-11-16 21:08
2004.12.05
Ладно, пошел спать!


9-1091074300
Evgeniy_K
2004-07-29 08:11
2004.12.05
DXDiag




   Наверх