Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

object и interface   Найти похожие ветки 

 
savva ©   (2003-03-11 15:26) [0]

бЯда.. и не знаю как избежать
пишу
TMyObject = object(TObj, IUnknown)
...
...
( 243) бЯда.. и не знаю как избежать
пишу
TMyObject = object(TObj, IUnknown)
...
...
...
end;
где IUnknown - interface
а компилятор мне говорит
[Error] *****.pas(243): Undeclared identifier: "QueryInterface"
[Error] *****.pas(243): Undeclared identifier: "_AddRef"
[Error] *****.pas(243): Undeclared identifier: "_Release"

в объектах можно использовать интерфейсы?

Полность самому эти методы реализовывать не охота - во многих местах повтрояется..

скорее всего дело во мне - но надо узнать точнее:))


 
Игорь Шевченко ©   (2003-03-11 18:21) [1]


в объектах можно использовать интерфейсы?


Нельзя. У TObject есть такая замечательная вещь, как VMT, в одном из слов по отрицательному смещению которой хранится указатель на используемые классом интерфейсы. В частности, оно пользуется в функции TObject.GetInterfaceEntry и еще в некоторых местах.
Рекомендую поискать в родном system.pas слово vmtIntfTable



 
Петр А. Иванов   (2003-03-11 18:34) [2]

Да в object нельзя, а в packed record можно. В Delphi5 есть пример DEMOS\ActiveX\ShellExt\purecontextmenu.pas.
Но вот затраты...:(


 
Игорь Шевченко ©   (2003-03-12 10:12) [3]

Петр А. Иванов (11.03.03 18:34)

Не понял, честно говоря. В том примере в record"е объявляется три указателя на функции и все. Это ж не откровение.
Эти указатели и в object никто не мешает объявить. Проблему автора это не решает.



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-78962
Nikolas
2003-11-11 20:30
2003.11.24
Как воспроизвести видео файл.


14-79181
esVer
2003-10-30 10:05
2003.11.24
Передача сообщений в чужое окно


1-78981
Алла
2003-11-14 14:42
2003.11.24
Будте добры, как с помощью GetDC


8-79071
NetKnight
2003-07-27 22:13
2003.11.24
Определение времени и битрейта файла


14-79136
Alibaba
2003-10-31 22:28
2003.11.24
Иконки