Главная страница
    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.035 c
4-1098129877
Storm
2004-10-19 00:04
2004.12.05
Анимация иконок.


1-1100793569
kaktus
2004-11-18 18:59
2004.12.05
Кто рабол со словарями Word?


1-1100892007
Алексей
2004-11-19 22:20
2004.12.05
Printer. Проблемы с размером файла при печати


1-1101197715
Max Ivanych
2004-11-23 11:15
2004.12.05
Как изменить цвет шрифта в StringGrid?


3-1099989544
goldenmax
2004-11-09 11:39
2004.12.05
Как подключится по сети к базе через BDE





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