Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

ShowModal   Найти похожие ветки 

 
Igor_thief ©   (2004-03-26 12:29) [0]

Вот столкнулся с такой фишкой: я всегда при закрытии формы использую Action := caFree. По идее это должно освободить ресурсы занимаемые формой по ее закрытию. Но вот чего я вытворил недавно. В OnClose формы прописал Action := caFree. Вызов формы таков: createForm(..) а потом if FOrm.showmodal = mrOk then и обрабатываю данные из компонентов в этой форме, хотя она должна была быть удалена из памяти! Что за глюк?

Раньше я всегда в модальной форме обрабатывал данные при нажатии кнопочки Ок, но теперь решил попробовать сделать как все if траля-ля Showmodal = mr?? then , но сталкнулся с таким глюком!


 
Nikolay M. ©   (2004-03-26 12:31) [1]

После

> if траля-ля Showmodal = mr?? then

Form1.Release делать не пробовал?


 
Igor_thief ©   (2004-03-26 13:52) [2]

Nikolay M. ©   (26.03.04 12:31) [1]
Да я знаю что от этого будет эфект, но в книге рекомендуют делать через ашэн.


 
Cobalt ©   (2004-03-26 22:59) [3]

Возможно, что это  caFree не вызывает немедленного удаления формы. Рекомендую для более детального понимания посмотреть исходники VCL - обработчик события - что происходит после него.


 
panov ©   (2004-03-26 23:11) [4]

После caFree вызывается метод Release джля формы.
Из Help:

Note: Release returns immediately to the caller. It does not wait for the form to be freed before returning



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

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
8-1072800141
Pa5ha
2003-12-30 19:02
2004.04.18
Хром


7-1076673135
AlexMan
2004-02-13 14:52
2004.04.18
Перехват обращения к реестру.


14-1079888806
Daniel
2004-03-21 20:06
2004.04.18
Запись видео-потока на DVD/VCD


6-1077208586
Анонимщик
2004-02-19 19:36
2004.04.18
TEmbeddedWB


3-1079615312
Лысый
2004-03-18 16:08
2004.04.18
ADOConnection