Interface, смещение на 8 байт? |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Interface, смещение на 8 байт? |
TarasBer |
8.12.2011 15:56
Сообщение
#1
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
У меня два вопроса.
Почему отладчик говорит, что некий интерфейс является указателем на C80874, хотя если привести его к какому-либо классу, то он уже будет указывать на C8087C? Откуда эти 8 байт? И как правильно, с проверкой RTTI, приводить интерфейс к классу-наследнику? Приводить к целому, вычитать 8, потом приводить к классу - это как-то криво. -------------------- |
IUnknown |
8.12.2011 17:26
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Вопрос №2: на старых версиях Дельфи есть много разных хаков (вот тут есть много ссылок по теме Have an interface, can I get the name of the class that has implemented it?). В современных (начиная с 2010) это делается тем же As (используется вызов SafeIntfAsClass).
|
Текстовая версия | 23.09.2024 6:43 |