powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста разобраться с преобразованием типов
6 сообщений из 6, страница 1 из 1
Помогите пожалуйста разобраться с преобразованием типов
    #32547414
Dimitrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть FmMain->ActiveMDIChild->ActiveControl (тип TWinControl)

Есть FmChild->cxGridDBTableView1 (тип TcxGridDBTableView)

Хочу преобразовать TWinControl к TcxGridDBTableView (чтобы получить доступ к активному датасету)

Иерархия классов:

Код: plaintext
TObject                                        TComponent
Код: plaintext
     |                                              |
Код: plaintext
TPersistent                           TcxControlChildComponent
Код: plaintext
     |                                              |
Код: plaintext
TComponent                                  TcxCustomGridView

Код: plaintext
     |                                              |
Код: plaintext
TControl                                    TcxCustomGridTableView
Код: plaintext
     |                                              |
Код: plaintext
TWinControl                                    TcxGridTableView
Код: plaintext
                                                     |
Код: plaintext
                                               TcxGridDBTableView

Есть еще TcxGrid, который может иметь свои TcxGridDBTableView (свойство Views)

TWinControl
Код: plaintext
     |
TCustomControl
Код: plaintext
     |
TcxControl
Код: plaintext
     |
TcxCustomGrid
Код: plaintext
     |
TcxGrid


dynamic_cast <TcxGridDBTableView*>( FmMain->ActiveMDIChild->ActiveControl )
не пропускает компилятор(я догадываюсь почему)

Пробовал преобразовать FmMain->ActiveMDIChild->ActiveControl к TControl (получается), а потом TControl к TcxGridDBTableView (не получается)

dynamic_cast <TcxGrid*>( FmMain->ActiveMDIChild->ActiveControl ) компилятор пропускает, но возвращается NULL



Помогите пожалуйста разобраться что к чему.
...
Рейтинг: 0 / 0
Помогите пожалуйста разобраться с преобразованием типов
    #32547463
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое сделать невозможно. Потому что это разные типы данных, они никак не соотносятся (судя по приведенным диаграммам).
...
Рейтинг: 0 / 0
Помогите пожалуйста разобраться с преобразованием типов
    #32547468
Dimitrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чё делать?
...
Рейтинг: 0 / 0
Помогите пожалуйста разобраться с преобразованием типов
    #32547548
Dimitrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, например, если на кнопку повесить стандартный Action - TDataSetFirst,...Last, и т.д и потом открыть много дочерних окон с этими гридами, то при нажатии на кнопки курсор премещается в активной таблице! Как они это сделали?????!!!!!!
...
Рейтинг: 0 / 0
Помогите пожалуйста разобраться с преобразованием типов
    #32548081
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со стандартным бдгридом без проблем ...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void __fastcall TForm1::DBGrid1Enter(TObject *Sender)
{
  if (dynamic_cast<TDBGrid*>(Form1->ActiveControl))
   {
      ShowMessage(dynamic_cast<TDBGrid*>(Form1->ActiveControl)->Name);
   }
}



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите пожалуйста разобраться с преобразованием типов
    #32548196
Dimitrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Со стандартным гридом у меня тоже все получилось. Но ведь я на свою голову связался с DevExpressQuantunGrid 4 ! Короче доступ к cxGrid я все-таки получил. Но cxGrid имеет ссылку только на TcxCustomGridView. А добраться до
TcxGridDBTableView (который имеет свойство TDataSource ) не могу. Хотя на форму лепится компонент cxGrid , а потом в нем создаются эти TcxGridDBTableView (хоть один, хоть десять).

Думаю нужно использовать FindClass(" TcxGridDBTableView ") или FindClass(" TDataSet ") (и получается), но че дальше делать с TMetaClass* который возвращается FindClass чтобы работать непосредственно с TDataSet ума не приложу!!!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста разобраться с преобразованием типов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]