Цитата:
Сообщение от angvelem
А ты посмотри модуль system.pas и поймёшь, что никакой утечки не будет.
|
Простой пример:
Код:
type
TMyObject = class
private
FMem: Pointer;
public
constructor Create(MemSize: Integer = 8192);
destructor Destroy; override;
property Mem: Pointer read FMem;
end;
constructor TMyObject.Create(MemSize: Integer);
begin
GetMem(FMem, MemSize);
end;
destructor TMyObject.Destroy;
begin
FreeMem(FMem);
ShowMessage(ClassName + '.Destroy');
inherited;
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
MyArray: array of TMyObject;
begin
SetLength(MyArray, 2);
MyArray[1] := TMyObject.Create;
SetLength(MyArray, 1);
MyArray[0] := TMyObject.Create;
end;
Вешаем обработчик на кнопку, запускаем диспетер задач, тыкаем, наслаждаемся.