![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
setnull |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 3.7.2007 Репутация: нет Всего: 1 |
Все здравствуйте!
Как, имея указатель на интерфейс, реализуемый экземпляром объекта, получить непосредстьвенно этот объект? Спасибо!!! |
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 4 Всего: 15 |
Если такое понадобилось - то может и не очень нужен этот интерфейс?
Сделай приведение - ТвойКлассОбьекта(ТвойЭкземплярРеализующийИнтерфейс). |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
да, но в современных версиях работает I as TObject И да, это нарушение ООП Это сообщение отредактировал(а) bems - 1.3.2012, 17:03 -------------------- Обижено школьников: 8 |
|||
|
||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
А что такое "Указатель на интерфейс"?
-------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
setnull |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 3.7.2007 Репутация: нет Всего: 1 |
Спасибо всем!
Арифметика над ВМТ - то, чего ожидал! Приведением и через as изначально пробовал - Д7. Касательно ректальности: согласен, но лучшего не придумал. Просто нужно хранить объекты в Варианте. Рассматривался еще вариант
но он показался более извращенным. Хотя может есть более изящные решения? Плюс, при выбранном подходе с IUnknown, вторым зайцем снимается вопрос с манипуляциями по сборке мусора. Добавлено @ 22:43
адрес реализации интерфейса конечным объектом Это сообщение отредактировал(а) setnull - 1.3.2012, 22:46 |
||||
|
|||||
k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Эм.. прости, все равно не очень понятно. Хотя из твоего поста предполагаю, что нужен набор методов объекта, которые реализуют указанный интерфейс? -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
k0rvin, интерфейс это значение типа IInterface или любого, который от него наследуется
Добавлено через 3 минуты и 55 секунд http://docwiki.embarcadero.com/RADStudio/e...face_References Это сообщение отредактировал(а) bems - 1.3.2012, 23:04 -------------------- Обижено школьников: 8 |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
А как это связано с вопросом? Это смотрели? http://docwiki.embarcadero.com/RADStudio/e...om_Variant_Type Добавлено через 3 минуты и 11 секунд Обычно в Delphi под этими словами понимается собственно сам интерфейс. Потому что в Delphi он представлен как указатель на табличку (запись) методов. Словосочетание "укзатель на интерфейс" используется, чтобы подчеркнуть, что речь идёт именно о программной конструкции, а не слове "интерфейс" в разговорном смысле. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
чтобы отличить значение от типа, не? -------------------- Обижено школьников: 8 |
|||
|
||||
setnull |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 3.7.2007 Репутация: нет Всего: 1 |
очень интересно! даже не задумывался, что под тип выделено 2байта, а представлено всего 20+\-, а остальное - непаханное поле а присмотреться - даже в исходниках написано
но! учитывая, что все объекты задачи являются потомками TInterfacedObject, почему их не "подвешивать" просто за интерфейсы? |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
setnull |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 3.7.2007 Репутация: нет Всего: 1 |
"the apple" от "an apple" прошу прощения за оффтоп, но всплыло сквозь попытки перевыразить понятие указателя на интерфейс... начинающий программист думает, что в килобайте 1000 байт а практикующий, что в километре 1024 метра ![]() Добавлено через 2 минуты и 33 секунды
попробую |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |