Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизУдаление обьектов Найти похожие ветки
← →
sddqw (2003-01-23 14:03) [0]Есть массив обьектов,созданных во время выполнения программы:
Block[i,j] := TStaticText.Create(frmNewProject);
Block[i,j].Parent := frmNewProject.scrbox;
Где ScrBox это ScroolBox,а Block[i,j] Обьявленно следующим образом:
Var
Block :array[1..60,1..60] of TStaticText;-доступный для всего приложения.
Я хочу удалить,допустим блок Block[2,4] и пишу:
Block[2,4].destroy; или Block[2,4].free; но он всеп равно остается на экране.Как удалить его глобально т.е. так как будто он никогда не существовал в программе?
← →
REA (2003-01-23 14:06) [1]Именно так. Скорее всего ссылка теряется.
← →
han_malign (2003-01-23 14:15) [2]frmNewProject.scrbox.Invalidate; ???
← →
sddqw (2003-01-23 14:35) [3]Не понятно если после строки Block[2,4].free Я пишу что If block[2,4]=nil then ShowMessage("a");То он не вывдоит никакого сообщения...т.е. блок не уничтожается.Что делать?
← →
Skier (2003-01-23 14:36) [4]>sddqw
> Что делать?
Код показать.
← →
sddqw (2003-01-23 14:42) [5]Procedure SetBlock;
Var
i,j:Byte;
Begin
{Удаляем все уже созданные:}
For i:=1 to 60 do
For j:=1 to 60 do
Begin
If Block[i,j]<>nil then
Begin
block[i,j].free;
If block[i,j]=nil then ShowMessage(Inttostr(i)+"-"+Inttostr(j));
End;
End;
{Код}
......
{Создаем по новой}
For i:=1 60 do
For 60 do
Begin
Block[i,j] := TStaticText.Create(frmNewProject);
Block[i,j].Parent := frmNewProject.scrbox;
End;
← →
gsu (2003-01-23 14:44) [6]опять ты (-:|~
← →
sddqw (2003-01-23 14:45) [7]ДА...помоги!
← →
Skier (2003-01-23 14:49) [8]For i:=1 60 do For 60 do ???!!!
← →
sddqw (2003-01-23 14:50) [9]Да там все правильно просто наприсанно For j:=1 to 60
← →
REA (2003-01-23 14:51) [10]Во-первых FreeAndNil - объект уничтожается, но не ссылки на него.
А не лучше ли Grid использовать?
← →
gsu (2003-01-23 14:52) [11]Block[2,4].free
Block[2,4]:=nil
и перерисовываешь все заново
← →
sddqw (2003-01-23 14:52) [12]Нет Grid Не как,там блок схема рисуется.А чему присваивать FreeAndNil?
← →
Skier (2003-01-23 14:53) [13]If Block[i,j]<>nil then
Begin
block[i,j].free;
block[i,j] := nil; (?)
End;
End;
← →
gsu (2003-01-23 14:54) [14]FreeAndNil(Block[2,4])
тоже, что
Block[2,4].free
Block[2,4]:=nil
← →
sddqw (2003-01-23 14:59) [15]РАБОТАЕТ! Огромное всем СПАСИБО!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c