Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1106366410
Александр1
2005-01-22 07:00
2005.02.06
wcrypt2.dcu


4-1102878566
MAINUSER
2004-12-12 22:09
2005.02.06
Получение буквы CD-ReWriter


4-1103283927
__Vic
2004-12-17 14:45
2005.02.06
Путь к каталогу (файлу)


1-1106642331
Толстый
2005-01-25 11:38
2005.02.06
Stringgrid


1-1106488173
Dmitry_04
2005-01-23 16:49
2005.02.06
Как мне установить сервис?




   Наверх