Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: CL | DM;

Вниз

Почему не могу прибить Shape?   Найти похожие ветки 

 
XM-AD ©   (2003-02-25 10:45) [0]

В RunTime создаю несколько компонентов TShape, каждому за которых присваиваю свое имя, point0, point1 и т.д. Потом, далее по программе деляю такую каку:

myshape:=TShape(FindComponent("point"+IntToStr(lwcount)));
myshape.destroy;

И естественно не пашет :( В чем проблема? И как надо?


 
Zergling   (2003-02-25 11:25) [1]

procedure TForm1.Button2Click(Sender: TObject);
var I: Integer;
begin
for I:= Form1.ComponentCount-1 Downto 0 do
begin
if (Form1.Components[I] is TShape) then Form1.Components[I].Free;
end;
end;

Вместо Destroy рекомендуется использовать Free т.к. Free проверяет существование объекта, если он есть, то приступет к его уничтожению. Destroy не проверяет существование объекта т.е. при попытке удолить не существующий объект будет глюк.

При создании нового объекта укажи ему родителя. Родитель сам позаботиться об уничтожении дочернего объекта. Возможно тебе даже не понадобится выше изложенное.
MyShape := TShape.Create(Form1);


 
SS   (2003-02-25 12:54) [2]

Поправочка!

procedure TForm1.Button2Click(Sender: TObject);
var I: Integer;
begin
for I:= Form1.ComponentCount-1 Downto 0 do
begin
if (Form1.Components[I] is TShape) then
begin
Form1.Components[I].Free;

!!!!! Dec(I);
end;
end;
end;





 
Sheriff   (2003-02-25 13:35) [3]

на dec(i); будет ругань
i:=0;
while i<Form1.ComponentCount do begin
if (Form1.Components[I] is TShape) then Form1.Components[I].Free else inc(i);
end;


 
Zergling   (2003-02-25 13:38) [4]

SS (25.02.03 12:54)

>> !!!!! Dec(I);

И че компиляция OK ???



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

Текущий архив: 2003.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-17321
Makhanev A.S.
2003-02-15 21:41
2003.03.06
Обязательная регистрация. ЗА и ПРОТИВ.


14-17356
Cobalt
2003-02-18 00:55
2003.03.06
Говорят, что тут недавно была атака на сайт


1-17082
IVANOV
2003-02-22 08:16
2003.03.06
Использование курсоров *.cur


1-17091
Tim_gothic
2003-02-25 20:19
2003.03.06
Про хэлпы...


6-17243
Скиф
2003-01-08 12:28
2003.03.06
IP-адрес, задание айпишника из проги...