powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
7 сообщений из 7, страница 1 из 1
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827830
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме размещены несколько Grid-ов, которые через свои DataSource подключены к своим ADOStoreProcedure.
Требуется динамически обращаться к свойству Sort объекта ADOStoreProcedure соответствующего Grid-а.
Фрагмент кода
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[/SRC]
AGrid:=Screen.ActiveForm.FindComponent(GrName) as TDBGrid; // GrName - Имя Grid-а

Edit4.Text:=AGrid.DataSource.DataSet.Filter;    // Компилируется и работает , т.к. свойство Filter у DataSet есть

Edit3.Text:=AGrid.DataSource.DataSet.Sort;     // Не компилируется т.к. свойства Sort у DataSet нет

Edit2.Text:=AGrid.DataSource.DataSet.Name;   // Показывает имя ADOStoreProcedure1 

ADOStoreProcedure1.Sort:='';                          // Работает, но не позволяет динамически выбирать Grid            

[SRC delphi]


Как выкрутиться
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827833
Фотография Мигалка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот вы m830
Код: pascal
1.
as TDBGrid;

зачем делаете?
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827836
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m830Как выкрутиться
Код: pascal
1.
2.
if (AGrid.DataSource.DataSet is TADOStoreProcedure) then 
  ADOStoreProcedure(AGrid.DataSource.DataSet).Sort; 



P.S: Пару дней назад похожий вопрос видел.
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827849
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,

Компилятор не пускает
[dcc32 Error] Unit2.pas(200): E2003 Undeclared identifier: 'ADOStoredProc'
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827852
m830
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,

Вот так работает

TADOStoredProc(AGrid.DataSource.DataSet).Sort:='';

Спасибо за наводку
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827853
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

лёгкая корректировка:

Код: pascal
1.
2.
if (AGrid.DataSource.DataSet is TADOStoreProcedure) then 
  TADOStoreProcedure(AGrid.DataSource.DataSet).Sort; 
...
Рейтинг: 0 / 0
Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
    #39827895
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Ну забыл кнопочку нажать на копипасте, ходют тут всякие по мытому, отвлекают! Что теперь, расстрелять что-ли?..
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как обратиться к свойству объекта, если компилятор его не знает, а у родителя оно есть
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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