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

Вниз

Размещение в памяти   Найти похожие ветки 

 
Sers   (2002-10-29 12:18) [0]

Что-то я запутался.

Если я делаю так:

procedure MyProcedure;
var edit : TEdit;
begin
edit:=TEdit.Create(nil);
end;

1. Где отводится память под edit - в динамической памяти, или в стеке ?
2. Соответственно, при выходе из процедуры, память освободится или нет ?


 
Anatoly Podgoretsky ©   (2002-10-29 12:27) [1]

Под ссылку в стеке, а остальное может быть в разных местах, что есть динамическая память, осводится только место под ссылку.


 
MBo ©   (2002-10-29 12:29) [2]

не освободится, только ссылка потеряется


 
Sers   (2002-10-29 12:33) [3]

То есть, как я понял при входе в процедуру в стеке отводится под ссылку память. При

edit:=TEdit.Create(nil);

под объект выделяется еще память.

При выходе из процедуры память занятая в стеке под ссылку освобождается, а та память, которая была выделена под объект не освобождается. То есть, это так называемая утечка памяти.

Я правильно понял ?


 
MBo ©   (2002-10-29 12:35) [4]

Да, абсолютно


 
Anatoly Podgoretsky ©   (2002-10-29 12:42) [5]

Абсолютно, а что бы этого не происходило - освобождай


 
Sers   (2002-10-29 12:47) [6]

В принципе я так и подозревал. Дело в том, я решил попробовать Bounds Checker v6.03 По идее, он должен отлавливать такие моменты. Если я подсовываю ему прогу откомпилированную C++ Builder"ом то все нормально - он замечет такие вещи. С прогой, откомпилированной с помощью Дельфи - не фига.

Может Bounds Checker не может работать с exe-шниками, полученными Дельвей.

В ProjectOptions-> Include DebugInformation галочка стоит, оптимизауия отключена, в чем же дело ?


 
VaS ©   (2002-10-29 12:52) [7]

[x] Include TD32 debug info



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
3-21382
Cossys
2002-10-17 17:08
2002.11.07
Вот уж не знаю что делать, блин.


1-21550
^Sanya
2002-10-26 23:04
2002.11.07
Проблема с InstallShield:


8-21692
kuzmich
2002-07-16 12:45
2002.11.07
DelfiX for Delfi 6


1-21485
Леший
2002-10-25 20:18
2002.11.07
Как к текущей дате добавить месяц?


1-21648
Ситников Виталий
2002-10-24 15:27
2002.11.07
ф-ия MessageDlg