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

Вниз

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

 
zdm   (2006-07-10 16:42) [0]

как корректно убить форму(не основную естесвенно),
action:=caFree я так понимаю не освобождает всех ресурсов,,,а надо-бы освободить


 
Dmitrij_K   (2006-07-10 16:46) [1]

Form2.Free;


 
Ega23 ©   (2006-07-10 16:55) [2]

Из метода данной формы?


 
Dmitrij_K   (2006-07-10 16:58) [3]

Если в OnClose сделать Action := caFree ресурсы освобождаются.
А с чего ты взял что не освобождается?


 
zdm   (2006-07-10 17:30) [4]

вобщем накопал инфы,,, action:=caFree, убивает процессы там и т.д. но держит в резерве память, пока её не займет другой процесс, а FORM.FREE на ONClose полное убийство с высвобождением памяти


 
StriderMan ©   (2006-07-10 17:46) [5]


> FORM.FREE на ONClose

вызов деструктора в обработчике TForm.OnClose? я правильно понял?
Это же в корне не верно!


 
tesseract ©   (2006-07-10 17:48) [6]

да нет  TForm.Free тоже память в куче отставит.

ДА и [5] учти.


 
Плохиш ©   (2006-07-10 18:28) [7]

Как написано в нелюбимой здесь справке, метод Release.


 
alexvan ©   (2006-07-10 19:23) [8]

onClose - Action:=caFree;
onDestroy - Form1:=nil;


 
Loginov Dmitry ©   (2006-07-10 19:23) [9]

> а надо-бы освободить


А зачем это, надо-бы?


 
zdm   (2006-07-11 09:47) [10]

да так, надо-бы, "память лишней не бывает", а почему в корне не верно form.free


 
tesseract ©   (2006-07-11 09:48) [11]

> да так, надо-бы, "память лишней не бывает", а почему в корне
> не верно form.free


Кучу сбросит при закрытии приложения. Имей в виду выделение/освобождение памяти медленный процесс, вот менеджер памяти и не хочет её просто так отдавать системе.


 
zdm   (2006-07-11 09:50) [12]

Ладно, ок, вообщем action:=caFree и не напрягайся, да?


 
evvcom ©   (2006-07-11 10:21) [13]

> [12] zdm   (11.07.06 09:50)

угу


 
StriderMan ©   (2006-07-11 13:06) [14]


> а почему в корне не верно form.free

это не верно в обработчике OnClose, т.к. после OnClose с объектом еще много чего делается, а вызов Free объект пристрелит насмерть. в итоге AccessViolation


 
zdm   (2006-07-11 13:26) [15]

я могу ошибаться конечно, или, не попал под стечение обстоятельств, но делая так:
сначала создаю форму ну например на нажатие кнопки меню.
procedure TForm_Osn.N8Click(Sender: TObject);
begin
       Application.CreateForm(TForm_New_Sc_RKC, Form_New_Sc_RKC);
   Form_New_Sc_RKC.ShowModal;  
end;

а на событие OnClose формы Form_New_Sc_RKC
procedure TForm_New_Sc_RKC.FormClose(Sender: TObject;
 var Action: TCloseAction);
begin
Form_New_Sc_RKC.Free;
end;

Все работает ,, ни каких ошибок.


 
StriderMan ©   (2006-07-11 14:33) [16]


> zdm

как-то замороченно больно

пиши лучше так:

procedure TForm_Osn.N8Click(Sender: TObject);
begin
 with TForm_New_Sc_RKC.Create(nil) do
 try
   ShowModal;
 finally
   Free;
 end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1152251968
XTD
2006-07-07 09:59
2006.07.30
Чтение из ком порта.


3-1148770554
Кашперук Иван
2006-05-28 02:55
2006.07.30
BDE Administrator и PARADOX


15-1151667458
blackcrazzy
2006-06-30 15:37
2006.07.30
Имитация дисконнекта.


15-1151649881
MBo
2006-06-30 10:44
2006.07.30
Пятничные похождения Васи Пупкина и другие задачки ;)


15-1151417957
ArtemESC
2006-06-27 18:19
2006.07.30
Как узнать где SoundBlaster: порт, DMA-канал ...





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