Сделал вот так:
Код:
var
Ptr:array[1..100] of ^TButton;
Count:Integer;
//==========================
Procedure AddToList(var Obj:TButton);
begin
Inc(Count);
Ptr[Count]:=Addr(Obj);
end;
Procedure AddObject;
var
myObject:^TButton;
begin
new(myObject);
myObject^:=TButton.Create(Form1);
myObject^.Caption:='Test Button'+IntToStr(Random(1000));
myObject^.Parent:=Form1;
myObject^.Left:=Random(100);
MyObject^.Top:=Random(50);
AddToList(myObject^);
// и т.п.
end;
Procedure DeleteObj;
var
i:integer;
begin
For i:=1 to Count do
FreeAndNil(Ptr[i]^);
end;
Код:
Procedure DeleteObj;
var
i:integer;
begin
For i:=1 to Count do
IF Assigned(Ptr[i]) and Assigned(Ptr[i]^) then
begin
FreeAndNil(Ptr[i]^);
Dispose(Ptr[i]);
Ptr[i]:=nil;
end;
end;
Вот так всё работает, ура))))))
