Поиск сообщества
Показаны результаты для тегов 'потомки'.
Найдено: 1 результат
-
Есть глобальный массив объектов var comp: array [1..12] of TRectangle; В процедуре создаю сами объекты и по 2 потомка к каждому из них procedure ......................... var element1, element2: TRectangle; i: byte; begin for i:=1 to n do begin comp[i]:=TRectangle.Create(form1); comp[i].Parent:=form1; ....................... element1:=TRectangle.Create(comp[i]); element1.Parent:=comp[i]; ........................ element2:=TRectangle.Create(comp[i]); element2.Parent:=comp[i]; ......................... end; end; В теле другой процедуры уничтожаю все объекты procedure ......................... var i: byte; begin for i:=1 to n do comp[i].free; end; Все как-бы работает. Но после многократного повторения этих процедур программа работает все медленнеее и медленнее с каждой следующей операцией создания-удаления. При этом никаких новых компонентов не создается. Поэтому и появились мысли, что не все компоненты удалены. Возможно остались неудаленными потомки. Пробовал изменить тело процедуры удаления на: for i:=1 to n do begin for j:=0 to comp[i].ChildrenCount-1 do comp[i].Children[j].Free; comp[i].Free; end; Но ничего не меняется. Поэтому прошу совета, в чем может быть причина замедления программы и как правильно удалять потомки. Программа для Android.