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

Вниз

Автоматическое освобождение структуры из памяти   Найти похожие ветки 

 
Progh   (2005-01-24 12:52) [0]

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

 type
 TStructure = record
   S1: String;
   i1: Integer;
   m: array[0..255] of String;
 end;

procedure MyProc;
var
 c: TStructure;
 i: Integer;
begin
 c.s1 := "aaa";
 c.i1 := 200;
 for i := 0 to 255 do
   c.m[i] := IntToStr(i);
end;

procedure MyProc2;
var
 i: Integer;
begin
 for i := 0 to 1000 do
   MyProc;
end;

begin
 MyProc2;
end;

В данном примере программа возрастает на несколько киллобайт, как освобождать структуры после себя ?


 
Александр Иванов ©   (2005-01-24 12:56) [1]

Если ты по поводу переменной var
c: TStructure, она статическая, размещается в стеке и перестает существовать после выхода из процедуры MyProc. А насчет возрастания программы уточни.


 
Progh   (2005-01-24 12:59) [2]

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


 
Digitman ©   (2005-01-24 13:02) [3]


> В данном примере программа возрастает на несколько киллобайт,
> как освобождать структуры после себя ?


в данном примере никакого явного освобождения памяти не требуется


 
Digitman ©   (2005-01-24 13:19) [4]


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


это совершенно нормальное явление



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
3-1105095325
Alpha
2005-01-07 13:55
2005.02.06
ADO в Delphi7


1-1106226083
WhiteGuy
2005-01-20 16:01
2005.02.06
Уменьшение размера


6-1101274782
leonidus
2004-11-24 08:39
2005.02.06
Переход с Indy 8 на Indy 9


3-1104733993
SnapIn
2005-01-03 09:33
2005.02.06
Создание Oracle Listener...


1-1106293071
newver
2005-01-21 10:37
2005.02.06
JPEG Error #42