Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1100801242
Quath
2004-11-18 21:07
2004.12.05
Мастерам словесного поноса!!! Читать обязательно!!!


6-1095975633
GreySerg
2004-09-24 01:40
2004.12.05
Почему не устанавливает dial соединение ?


3-1099734467
гость
2004-11-06 12:47
2004.12.05
interbase


14-1100598102
sweetk
2004-11-16 12:41
2004.12.05
Как обойти дст?


14-1099991989
Сергей Суровцев
2004-11-09 12:19
2004.12.05
Забодали уже 1С-сники!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский