Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Нужен производный класс для назначения


Автор: Song 26.7.2005, 07:37
Есть процедура, в неё передаётся параметр Control: TControl

Это может быть только data-aware компонент.
Требуется назначить им всем один DataSource.

Нет ли какого-нибудь производнного класса, чтобы сделать так:

Код
TSomeClass(Control).DataSource:=DataSet1;


или придётся через RTTI ?
Уж больно мне не хочется расписывать вот так:
Код

 IF Control is TDBEdit then TDBEdit(Control).DataSource:=DataSet1 else
  IF Control is TDCheckBox then TDBCheckBox(Control).DataSource:=DataSet1 else
   ...

Автор: Петрович 26.7.2005, 07:57
Цитата(Song @ 26.7.2005, 08:37)
TSomeClass(Control).DataSet:=DataSet1;

Ну так точно не прокатит. У data-aware компонентов вообще нет свойства DataSet. У них есть только DataSource.

Цитата(Song @ 26.7.2005, 08:37)
Нет ли какого-нибудь производнного класса, чтобы сделать так:

Во первых, наверное имеется ввиду не "производный" а базовый класс. А во вторых, самому иерархию классов посмотреть в лом? smile

Ну в общем, общего базового класса обладающего свойством DataSource нет. Придется через RTTI.

Автор: Song 26.7.2005, 08:15
Цитата
У data-aware компонентов вообще нет свойства DataSet.

smile
ну описался

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)