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

Вниз

Удаление обьектов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-4976
Fill
2003-01-27 08:23
2003.02.03
Pagecontrol


1-4948
Алексей П
2003-01-26 18:55
2003.02.03
Word


14-5131
lb
2003-01-13 19:09
2003.02.03
Решение задачи.


7-5279
maxim2
2002-11-19 21:39
2003.02.03
Можно ли заблокировать опр. клавишу?


1-4981
MikeFW
2003-01-23 14:34
2003.02.03
Как PChar преобразовать к String?