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

не находит контрол на форме   Найти похожие ветки 

 
Mikle   (2009-03-12 18:18) [0]

Здравствуйте.
Пишу программку, в которой объекты при активации должны динамически генерировать под себя интерфейс на панельке...
Генерируют, заполняют. При деактивации должны удалять созданные ими контролы. Удалются все кроме надписей (TLabel).
В сокрашённом виде это выглядит так:


control:=TLabel.Create(self);
control.Parent:=Form1;
control.Name:="mycontrol";
control:=Form1.FindChildControl("mycontrol"); {возвращает NIL}
control.Destroy;


Оно же работает с TEdit, TButton, TMemo и т.п. TLabel  ведь тоже наследник класса TControl, так почему же тогда не находит???

Да, ещё хотел спросить.. сначала вызывал не Destroy, а Free - ошибка не появлялась, а надпись оставалась.. т.е. метод Free - это класс функция? или она эквивалентна вызову процедуры FREE(myObject)?

Заранее спасибо за ответ)


 
Медвежонок Пятачок ©   (2009-03-12 18:24) [1]

Загляни внутрь и поймешь почему


 
Медвежонок Пятачок ©   (2009-03-12 18:25) [2]

А после заглядывания внутрь FindChildControl посмотри на иерархию предков лэйбла.


 
Leonid Troyanovsky ©   (2009-03-12 18:56) [3]


> Mikle   (12.03.09 18:18)  

> тоже наследник класса TControl, так почему же тогда не находит?

Не там ищем, RTFM: TWinControl.Controls

--
Regards, LVT.


 
Mikle   (2009-03-12 19:01) [4]

хм.. вижу :(
но как же тогда обращаться к лэйблу? можно, конечно, хранить указатель на него, но так не интересно)) судя по тому что я увидел (если конечно туда смотрел) можно заюзать TStaticText вместо лэйбла (кстати я его раньше нигде не встречал..). но всё же) мне уже просто интересно, как же тогда динамически обращаться к наследникам TGraphicControl ???


 
Palladin ©   (2009-03-12 19:03) [5]

от того что он наслежник TGraphicControl наследником от TComponent он быть не перестает

Form1.FindComponent("mycontrol")



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

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



Память: 0.46 MB
Время: 0.008 c
2-1236808029
d@sd@s
2009-03-12 00:47
2009.04.26
Кодовые страницы


2-1237228291
IvanWan
2009-03-16 21:31
2009.04.26
TEdit/TMemo +Unicode


15-1229941039
nnov
2008-12-22 13:17
2009.04.26
KWF и клиент-банк


2-1236670123
vat
2009-03-10 10:28
2009.04.26
как заставить OpenDialog выделять папку


3-1220355661
Alexandra
2008-09-02 15:41
2009.04.26
Как изменить системную дату таблицы ?




   Наверх