Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-4813
Жека
2003-01-17 09:02
2003.02.03
QReport


14-5273
Mika
2003-01-17 14:02
2003.02.03
Установка компонента в Delphi 6


1-4999
xxxCrazyManxxx
2003-01-23 16:37
2003.02.03
Kak analizirovat Sender


1-5035
vika_s
2003-01-24 08:41
2003.02.03
Команда subst


1-5005
tga
2003-01-23 12:09
2003.02.03
Окошко в отдельном потоке. Как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский