Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.25;
Скачать: CL | DM;

Вниз

простой вопрос по RTTI   Найти похожие ветки 

 
Morpheus   (2008-12-14 19:55) [0]

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


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


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


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


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


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


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


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


type TComponentName = type string;

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


 
Morpheus   (2008-12-14 20:20) [2]

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


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

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

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

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


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


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


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


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

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


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

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


 
Morpheus   (2008-12-14 21:21) [7]

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



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

Текущий архив: 2009.01.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
2-1229090962
NieL
2008-12-12 17:09
2009.01.25
BorderIcons


2-1229005474
TNT
2008-12-11 17:24
2009.01.25
ShellExecute(HWND,Null,SP,Null,Null,SW_SHOWNORMAL);


2-1228753709
CodeMaster
2008-12-08 19:28
2009.01.25
Ускоренная реализация


2-1228999751
9899100
2008-12-11 15:49
2009.01.25
градиент


1-1207054894
Странник81
2008-04-01 17:01
2009.01.25
А возможно ли?