Борьба с утечкой памяти
От: Аноним  
Дата: 19.10.06 05:11
Оценка:
Есть задача передовать некоторую структуру в Integer'е.
Сделал так.

type
  Container = record
    AName: string;
    AClass: Integer;
  end;

  PContainer = ^Container;

function GetContainer(const I: Integer): Container;
begin
  Result := PContainer(I)^;
end;

function SetContainer(AContainer: Container): Integer;
var
  PC: PContainer;
begin
  GetMem(PC, SizeOf(Container));
  ZeroMemory(PC, SizeOf(Container));
  PC^ := AContainer;
  Result := Integer(PC);
end;

procedure FreeContainer(const I: Integer);
begin
  FreeMem(PContainer(I));
end;

var
  C: Container;
  I: Integer;
begin
  C.AName := 'name1';
  C.AClass := 1;
  I := SetContainer(C);
  ...
  C := GetContainer(I);
  FreeContainer(I);
  ...
end.


Мучает вопрос по поводу освобождения памяти. Все ли верно я сделал?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.