Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c