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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1152766669
Neket
2006-07-13 08:57
2006.07.30
Проблема с переносимостью программы


2-1152363585
learner
2006-07-08 16:59
2006.07.30
Логика работы цикла


15-1151664375
гастрит
2006-06-30 14:46
2006.07.30
глюк


2-1152266882
Diksa
2006-07-07 14:08
2006.07.30
Новая запись


6-1142504280
Dust
2006-03-16 13:18
2006.07.30
Help, электронная почта, копоненты Indi





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