Вниз
Скачать: CL | DM;

как убить все объекты одним ударом   Найти похожие ветки 

 
redlord   (2004-09-10 15:16) [0]

всем привет
народ подскажите как убить все обекты если не известно сколько
их живо на момент удаления
ниже приведен код создания обектов :
type
Tscan = class(tobject)
...
...
end;
----------

var
 Form1: TForm1;
 Scan:array[1..65534]of Tscan;
implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
for n:=1 to 1000 do
scan[n]:=tscan.Create(form1);
end;


 
Digitman ©   (2004-09-10 15:21) [1]


> если не известно


сделай так чтобы было "известно" .. и не задавайся глупыми вопросами ... все в твоих руках !


 
HeKTO   (2004-09-10 15:24) [2]

form1.close; :))))) и все мертвы.....


 
Рамиль ©   (2004-09-10 15:47) [3]

можно пройтись по Form1.Components и освободить все объекты с именем класса Tscan


 
redlord   (2004-09-10 15:48) [4]

значит нужно все мои обекты повесить на вспомогательный объект
а потом его убить
а еще это какнибуть можно реализовать ??


 
PVOzerski ©   (2004-09-10 15:50) [5]

Если все объекты - наследники tComponent, можно воспользоваться их свойством Owner. Скажем, при создании делаем один какой-то компонент их owner"ом (или owner"ом их Owner"ов и т.д.). Тогда при "убийстве" этого "всеобщего" owner"а он "утянет за собой" всех. Естественно, способ не универсален.


 
icWasya ©   (2004-09-10 16:00) [6]

TObjectList+F1


 
TUser ©   (2004-09-10 16:13) [7]

Можно также в цикле написать free и защитить его try ... except"ом. Еще лучше - все Free заменить на FreeAndNil и проверять на nil перед вызовом этой ф-ции.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
3-1093603018
kyka
2004-08-27 14:36
2004.09.26
Поиск master-detail


8-1088633422
xam
2004-07-01 02:10
2004.09.26
Документация Lame по русски


4-1092131731
JJJ
2004-08-10 13:55
2004.09.26
Цвет компонента и текста


14-1094812408
Суслик
2004-09-10 14:33
2004.09.26
Описание biff8


4-1092660212
Manfred
2004-08-16 16:43
2004.09.26
Какое сообщение генерится при нажатии CTRL+ALT+DEL?




   Наверх