powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Вопросы по IT / TObject *Sender как не TObject *Sender в Билдере (Дельфи)
6 сообщений из 6, страница 1 из 1
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1082862
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возник дурацкий вопрос.
В события передается TObject *Sender, и чтоб получить вызвавший объект надо применять приведение типов например даблклик:
Код: C++
1.
2.
3.
4.
TForm::DBGridEhDblClick(TObject *Sender)
{
 TDBGridEh *grid= (TDBGridEh*) Sender;
}
Что как бэ несколько напрягает. Жульничество типа TForm::DBGridEhDblClick(TDBGridEh *Sender) работает, но при запуске компиляции выдает The DBGridEhDblClick method referenced by DBGridEh->OnDblClick has incompatible parameter list. Remove the reference?, и предлагает удалить ссылку.
Если отказаться, то оно компилируется и нормально работает.
Возможно что либо с этим сделать, чтоб не предупреждало? [:biggrin]
...
Рейтинг: 0 / 0
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1083387
Так работает, ты сломать хочешь
...
Рейтинг: 0 / 0
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1083445
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нихрена не умеешь ? Забей !
Будь как Пошэ - склипиздень двужопостворчатый !
didgik  28.03.2019, 23:29
Возник дурацкий вопрос.
В события передается TObject *Sender, и чтоб получить вызвавший объект надо применять приведение типов например даблклик:
Код: C++
1.
2.
3.
4.
TForm::DBGridEhDblClick(TObject *Sender)
{
 TDBGridEh *grid= (TDBGridEh*) Sender;
}
Что как бэ несколько напрягает. Жульничество типа TForm::DBGridEhDblClick(TDBGridEh *Sender) работает, но при запуске компиляции выдает The DBGridEhDblClick method referenced by DBGridEh->OnDblClick has incompatible parameter list. Remove the reference?, и предлагает удалить ссылку.
Если отказаться, то оно компилируется и нормально работает.
Возможно что либо с этим сделать, чтоб не предупреждало? [:biggrin]
Никак ты не сделаешь, потому что компилятор проверяет сигнатуру процедуры (ее декларацию). И если не совпадает, то считает, что такого метода нет. И вообще, то, что ты хочешь сделать, не соответствует принципам ООП. Так что приведение типов - единственный вариант, который правильный в этой парадигме
...
Гарыныч сказал - Гарыныч спиздел
#деда#ослег#подослали

на чём бы я не осуществлял бы или осуществлял бы, объяснял бы или не объяснял бы, СОСТОЯНИЕ СИТУАЦИИ ВСЁ РАВНО ОТ ЭТОГО НЕ ИЗМЕНИЛОСЬ БЫ (с) Кикки
Рейтинг: 0 / 0
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1083817
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator  29.03.2019, 08:38
Никак ты не сделаешь, потому что компилятор проверяет сигнатуру процедуры (ее декларацию). И если не совпадает, то считает, что такого метода нет. И вообще, то, что ты хочешь сделать, не соответствует принципам ООП. Так что приведение типов - единственный вариант, который правильный в этой парадигме
Жаль. На принципы ООП посрать, надо, чтоб было проще и удобнее, а не соответствие парадигмам.
Но нет, так нет.
...
Рейтинг: 0 / 0
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1083834
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нихрена не умеешь ? Забей !
Будь как Пошэ - склипиздень двужопостворчатый !
didgik  29.03.2019, 11:12
defecator  29.03.2019, 08:38
Никак ты не сделаешь, потому что компилятор проверяет сигнатуру процедуры (ее декларацию). И если не совпадает, то считает, что такого метода нет. И вообще, то, что ты хочешь сделать, не соответствует принципам ООП. Так что приведение типов - единственный вариант, который правильный в этой парадигме
Жаль. На принципы ООП посрать, надо, чтоб было проще и удобнее, а не соответствие парадигмам.
Но нет, так нет.
хочешь проще - не используй ООП
а если используешь ООП, то подчиняйся принятым правилам !
...
Гарыныч сказал - Гарыныч спиздел
#деда#ослег#подослали

на чём бы я не осуществлял бы или осуществлял бы, объяснял бы или не объяснял бы, СОСТОЯНИЕ СИТУАЦИИ ВСЁ РАВНО ОТ ЭТОГО НЕ ИЗМЕНИЛОСЬ БЫ (с) Кикки
Рейтинг: 0 / 0
TObject *Sender как не TObject *Sender в Билдере (Дельфи)
    #1085103
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator  29.03.2019, 11:16
didgik  29.03.2019, 11:12
defecator  29.03.2019, 08:38
...
Жаль. На принципы ООП посрать, надо, чтоб было проще и удобнее, а не соответствие парадигмам.
Но нет, так нет.
хочешь проще - не используй ООП
а если используешь ООП, то подчиняйся принятым правилам !
Ходи строем!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Вопросы по IT / TObject *Sender как не TObject *Sender в Билдере (Дельфи)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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