Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Автоматическое освобождение структуры из памяти [D6, Win2k, WinXP]


Progh ©   (2005-01-24 12:52:00) 

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

 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;

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


Digitman   (2005-01-24 13:19:00) [1]


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


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


Digitman   (2005-01-24 13:02:00) [2]


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


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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо