Главная страница
    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.01 c
2-1152280667
Apollon_604
2006-07-07 17:57
2006.07.30
Создание формы


15-1151590066
cyborg
2006-06-29 18:07
2006.07.30
SATA II диски в SATA разьём можно подключать?


9-1132457940
gfhgfh
2005-11-20 06:39
2006.07.30
Tokomak


15-1151599557
parovoZZ
2006-06-29 20:45
2006.07.30
Как бы поюзать png?


3-1148387839
Atamansha
2006-05-23 16:37
2006.07.30
Null-оператор





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