Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как убить все объекты одним ударом [D7, WinXP]


redlord ©   (2004-09-10 15:16:00) 

всем привет
народ подскажите как убить все обекты если не известно сколько
их живо на момент удаления
ниже приведен код создания обектов :
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;


TUser   (2004-09-10 16:13:00) [1]

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


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

TObjectList+F1


PVOzerski   (2004-09-10 15:50:00) [3]

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


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

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


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

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


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

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


Digitman   (2004-09-10 15:21:00) [7]


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


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо