Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
3-1080087710
wizzo
2004-03-24 03:21
2004.04.18
Можно ли оптимизировать?


1-1080218582
pirat
2004-03-25 15:43
2004.04.18
Как получить битмэп с "отрендеренной" (целиком) html-страницей?


7-1075682062
Bes
2004-02-02 03:34
2004.04.18
COM порт


1-1080448960
AmazedDexter
2004-03-28 08:42
2004.04.18
Вставка рисунка


3-1079531549
Vanoid
2004-03-17 16:52
2004.04.18
Офигеете: отмена выполнения асинхронных запросов ADOQuery. MSSQL




   Наверх