Показать сообщение отдельно
  #2  
Старый 17.08.2009, 22:10
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
По умолчанию Продвижение...

Сделал вот так:
Код:
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;
Вот так всё работает, ура))))))
__________________
Если Вы находите ошибки, исправить которые дело долгое и нудное, ничего не делайте - просто внесите их в список особенностей
Ответить с цитированием