Главная страница
    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.013 c
9-4700
Ziketik
2002-07-20 14:44
2003.02.03
Как сделать быстрый скрин рабочего стола?


1-4956
dvm
2003-01-26 16:09
2003.02.03
Аналог в Делфи операции из Си


14-5259
Mika
2003-01-17 06:32
2003.02.03
Как установить компонент ?


1-4875
Fill
2003-01-24 21:39
2003.02.03
Обмен данными с Excel


4-5318
alexsc
2002-12-17 13:37
2003.02.03
Можно ли через CreateProcess передать Word файл для открытия





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский