Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Внизкак убить все объекты одним ударом Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c