Вниз
Скачать: 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-1106220131
BVV
2005-01-20 14:22
2005.02.06
Атрибуты


4-1103011815
Архитектор
2004-12-14 11:10
2005.02.06
InternetSetOption


1-1106391045
Леха
2005-01-22 13:50
2005.02.06
копия реестра


1-1106653058
JohnS
2005-01-25 14:37
2005.02.06
Как начать работать с XML в D7 ?


4-1103456415
ship
2004-12-19 14:40
2005.02.06
ошибки приёма в com порт




   Наверх