Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
3-78854
chistyakov
2003-11-03 17:41
2003.11.24
Проблема с ADOStoredProc


1-79006
lovres
2003-11-14 10:54
2003.11.24
Zyxel: как моей программы получить №тел входящего звонка?


1-78935
Chuha
2003-11-11 19:19
2003.11.24
Zip>?


3-78811
Immortal_Death
2003-11-05 09:05
2003.11.24
Более быстрый алгоритм?


3-78761
Aleksandr
2003-11-03 11:59
2003.11.24
Как бороться с открытой сессией Парадокса?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский