Главная страница
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.04 c
1-1081008074
DADUD
2004-04-03 20:01
2004.04.18
Удаление ресурсов


1-1080712831
V-Isa
2004-03-31 10:00
2004.04.18
Компонент


4-1076927156
ser_sumy
2004-02-16 13:25
2004.04.18
GetAdaptersInfo-Грабли


4-1076307558
Manowar
2004-02-09 09:19
2004.04.18
Информация о занимаемой памяти процесса


14-1079972900
Обитатель
2004-03-22 19:28
2004.04.18
Что с моей виндой-2000 ?