Главная страница
    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.46 MB
Время: 0.037 c
14-1100252439
avlan
2004-11-12 12:40
2004.12.05
Удалить директорию минуя корзину


1-1100805723
Frozzen
2004-11-18 22:22
2004.12.05
Работа с указателями


14-1100829369
тт
2004-11-19 04:56
2004.12.05
Где можно скачать файлы помощи на русском?


1-1100764397
sadykov
2004-11-18 10:53
2004.12.05
перерисовка ListView и TreeView


4-1098290737
Specialist
2004-10-20 20:45
2004.12.05
Как скрыть процесс в WinXP в Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский