Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

простой вопрос по RTTI [D4, D5, D6, D7, D2005, 2000, XP]


Morpheus ©   (2008-12-14 19:55:00) 

Есть две процедурки.
Первая: создает контролы - панельки, задает им имя по типу: (el as TPanel).name:= 'Panel' + IntToStr(i).
Вторая должна создавать всякие кнопки, поля, переключатели и так далее.
Непосредственно вопрос: как указывать имя родительского компонента, если это просто строка? Есть ли функция преобразование типа string в TComponentName?


Morpheus   (2008-12-14 21:21:00) [1]

Сергей М.
Спасибо, это то, что было нужно


Сергей М.   (2008-12-14 20:50:00) [2]

NewEdit.Parent := TWinControl(MyForm.FindChildControl('PanelN'));


Morpheus   (2008-12-14 20:33:00) [3]

Сергей М.
Может подскажите, как это использовать? У меня любые эксперименты с этим методом вылетают на "Access violation".


Сергей М.   (2008-12-14 20:29:00) [4]


> он возвращает тип TContol


TControl есть прямой наследник TComponent


Morpheus   (2008-12-14 20:28:00) [5]

Сергей М.
Вопрос всего-навсего заключается в том, как поместить элемент на панель.

NewEdit: TEdit.Create(self)овнер форма, так удобнее для дальнейшей работы
NewEdit.Parent:= Panel + i??????????

Дву процедуры потому, что два SQL-запроса, в одной процедуре пришлось бы вызывать запросы в цикле.


Morpheus   (2008-12-14 20:20:00) [6]

Нашел некий метод для общего родителя FindChildControl(ControlName: string)который и ожидал по логике найти, но он возвращает тип TContol.


Сергей М.   (2008-12-14 20:15:00) [7]


> Первая: создает контролы


> Вторая должна создавать всякие кнопки, поля, переключатели
> и так далее


Эти "и так далее" точно такие же контролы. Зачем, спрашивается, две "процедурки" ?


> как указывать имя родительского компонента, если это просто
> строка?


Имя и есть строка.


> Есть ли функция преобразование типа string в TComponentName?


type TComponentName = type string;

Преобразовывать ничего не надо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо