Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

Application.Terminate   Найти похожие ветки 

 
Dmitry_177   (2007-04-25 08:41) [0]

При выполнении Application.Terminate выполняется ли Form.Destroy?


 
Сергей М. ©   (2007-04-25 08:52) [1]

Нет.


 
homm ©   (2007-04-25 08:54) [2]

> При выполнении Application.Terminate выполняется ли Form.Destroy?

что, проверить то самому слабо за минуту? Проще ждать когда здесь ответят.


 
Dmitry_177   (2007-04-25 09:05) [3]

У меня в Form.Create считываются всякие настройки, для них выделяется память и т.д. и если при считывании произошла какая-то ошибка, как мне в Form.Create правильно завершить программу? Я делаю так:
Application.Terminate;
Exit;

приложение завершается, но у меня окно быстро появляется и исчезает сразуже.. может как то по другому надо?


 
Сергей М. ©   (2007-04-25 09:11) [4]

Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm1, Form1);
Application.Run;
..

procedure TForm1.Create;
begin
...
if Условие then
 Visible := True
else
 Close;
end;


 
Dmitry_177   (2007-04-26 15:38) [5]

Сергей М.

если так сделать, то окно при ошибке не показывается, но программа всеравно остается запущенной..


 
Сергей М. ©   (2007-04-26 15:40) [6]


> Dmitry_177   (26.04.07 15:38) [5]


Ну замени Close на Application.Terminate)
Вот ведь велика проблема-то !)


 
Dmitry_177   (2007-04-26 15:44) [7]

Я сделал так:

         Form1.Close;
         Application.Terminate;


т.к. судя по:

> Dmitry_177   (25.04.07 08:41) 
> При выполнении Application.Terminate выполняется ли Form.
> Destroy?
>
> Сергей М. ©   (25.04.07 08:52) [1]
> Нет.

Form.Destroy не сработает при Application.Terminate, а там у меня идет освобождение памяти и т.д..


 
Kolan ©   (2007-04-26 15:47) [8]

> У меня в Form.Create считываются всякие настройки, для них
> выделяется память и т.д. и если при считывании произошла
> какая-то ошибка,

То надо сообщать об этом и применять настройки по умолчанию, имхо.


 
McSimm_ ©   (2007-04-26 15:53) [9]

Возможно поможет PostQuitMessage


 
Dmitry_177   (2007-04-26 15:57) [10]

При Application.Terminate; всетаки вызывается Form.Destroy.. В Form.Destroy сделал в качестве теста MessageBox и он выскочил при Application.Terminate; без Form1.Close;


 
Сергей М. ©   (2007-04-26 15:59) [11]


> Dmitry_177   (26.04.07 15:44) [7]


> т.к. судя по


Когда исходники-то борландовские читать будем ?


 
Сергей М. ©   (2007-04-26 15:59) [12]


> Dmitry_177   (26.04.07 15:57) [10]
>
> При Application.Terminate; всетаки вызывается Form.Destroy


Нет, не вызывается.


 
Сергей М. ©   (2007-04-26 16:02) [13]


> Dmitry_177   (26.04.07 15:57) [10]


Вот тебе цитата из forms.pas (D7):

procedure TApplication.Terminate;
begin
 if CallTerminateProcs then PostQuitMessage(0);
end;

Где ты здесь видишь Destroy ?


 
ANB ©   (2007-04-26 16:05) [14]


> Form.Destroy не сработает при Application.Terminate, а там
> у меня идет освобождение памяти и т.д..

Если процесс завершается, то винда сама удалит адресное пространство и все почистит.


 
Игорь Шевченко ©   (2007-04-26 16:07) [15]

Если был вызов Application.CreateForm, то форма будет создана с Owner=Application, а при уничтожении Application, он, как всякий порядочный компонент, уничтожает своих детей, при этом и вызовется Form.Destroy.

Разумеется, Form.Destroy вызывается при Application.Free



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
8-1157978391
Dmitriy O_
2006-09-11 16:39
2007.05.20
Как получить быстрый доступ к Пикселям BMP ?


15-1176839735
Чапаев
2007-04-17 23:55
2007.05.20
PL/SQL. Что почитать?


1-1174734162
logslava
2007-03-24 14:02
2007.05.20
Можно ли у компонента найти свойство..


15-1177295807
Slider007
2007-04-23 06:36
2007.05.20
С днем рождения ! 23 апреля


3-1173072424
Feds
2007-03-05 08:27
2007.05.20
Удаление пустых строк в аксессе





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