Вниз
Скачать: CL | DM;

Как узнать что создалась и существует кнопка?   Найти похожие ветки 

 
kuzulis ©   (2008-04-23 10:22) [0]

Доброго времени суток!!!

Мне нужно как то перед динамическим созданием кнопки узнать.. существует ли она до этого..
т.е у меня в цикле проверяется некое условие.. и если оно труе - то создается кнопка...  И поэтому нада проверить - была ли она уже создана на предыдущем шаге..

Подскажите как это сделать??


 
ANB   (2008-04-23 10:27) [1]

Самый тупой способ - завести переменную и при создании кнопки изменять ее значение. Потом его проверять.


 
Anatoly Podgoretsky ©   (2008-04-23 10:29) [2]

> ANB  (23.04.2008 10:27:01)  [1]

Зачем, кнопка сама в состоянии себя идентифицировать, просто множество вариантов.


 
Ega23 ©   (2008-04-23 10:32) [3]

1. Изначально - объявить как nil.
2. Потом проверять, равно nil или нет. Если равно - не создана. Если не равно - создана.
3. Не забыть после "убийства" приравнять к nil.


 
Рамиль ©   (2008-04-23 10:34) [4]

var
 Button: TButton

if not Assigned(Button) then
begin
 Button := TButton.Create(Self);
 ...
end

Только при уничтожении присваивай Button = nil и для проверки пользуйся этой и только этой переменной.


 
Ega23 ©   (2008-04-23 10:37) [5]


> Рамиль ©   (23.04.08 10:34) [4]


var
Button: TButton;
begin
 Button := nil;  // !!!!!!

 .....
end;


 
Рамиль ©   (2008-04-23 10:39) [6]


> Ega23 ©   (23.04.08 10:37) [5]

Это смотря где var стоит :-)


 
Рамиль ©   (2008-04-23 10:40) [7]

Не, ну должен же автор знать, где надо инициализировать переменные, а где можно и так.


 
Anatoly Podgoretsky ©   (2008-04-23 11:21) [8]

> Рамиль  (23.04.2008 10:34:04)  [4]

Замучается ошибки отлаживать, что угодно, но только не переменную.


 
Leonid Troyanovsky ©   (2008-04-23 12:44) [9]


> kuzulis ©   (23.04.08 10:22)  

> Мне нужно как то перед динамическим созданием кнопки узнать.
> . существует ли она до этого..

Перебираем ее Parent.Controls.

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
2-1208768164
umbra
2008-04-21 12:56
2008.05.18
как из TAction.Execute узнать, на какой форме кликнули меню


2-1208777886
Rasputin
2008-04-21 15:38
2008.05.18
скопировать изображение окна


4-1188932225
Rubi
2007-09-04 22:57
2008.05.18
Перехват сообщений


15-1207325337
tesseract
2008-04-04 20:08
2008.05.18
IPhone vs другие


3-1197395663
DmitrichJ
2007-12-11 20:54
2008.05.18
MySQL, AnyDac Ошибка с max_allowed_packet




   Наверх