Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использовать во внуке метод деда, наследование 
:(
    Опции темы
Delphist
  Дата 8.5.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



У меня есть три объекта: Дед, отец, сын отца или внук по отношению к деду.
У Деда есть виртуальный метод procedure SetProp; virtual; данный метод перекрывается у отца procedure SetProp; override;. Теперь нужно сделать так, чтобы у внука вызывался не отцовский метод, а метод деда как это сделать? 


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Yanis
Дата 8.5.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



дед.метод -- не?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Delphist
Дата 8.5.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Мне нужно чтобы во внуке вызывался метод деда.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Rennigth
Дата 8.5.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Delphist, Стандартными способами не получится. Сам принцип ООП такого не позволяет.

Вроде люди обходили как-то, но не считаю что вообще такой подход правильний. 
Правильней пересмотреть саму структуру и построить грамотную модель.

Добавлено через 3 минуты и 4 секунды
Delphist, 
Это конечно если я тебя правильно понял, что ты хочешь что-бы override-метод папы не работал, а работал методы деда и внука.  smile 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
ama_kid
Дата 8.5.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 9
Всего: 95



Delphist
Если у тебя метод отца override'ит метод деда - то, имхо, только через какой-нибудь метод отца, который будет делать inherited SetProp деда... Можно сделать у отца overload вместо override и в сыне вызывать TDed(Self).SetProp - тогда будет вызываться напрямую метод деда...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Alexeis
Дата 8.5.2007, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Rennigth, 
Цитата(Rennigth @  8.5.2007,  15:26 Найти цитируемый пост)
Вроде люди обходили как-то, но не считаю что вообще такой подход правильний. 
Правильней пересмотреть саму структуру и построить грамотную модель.


  Меняли адрес VMT на VMT предка?

Это сообщение отредактировал(а) Alexeis - 8.5.2007, 16:16


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rennigth
Дата 8.5.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 15
Всего: 76



Цитата(Alexeis @  8.5.2007,  16:14 Найти цитируемый пост)
  Меняли адрес VMT на VMT предка?

Не помню, не вникал особо, но что-то VMT мутили.



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.