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

Вниз

Зачем в классу при обявлении интерфейса нужна реализация IUnknown   Найти похожие ветки 

 
Erik1   (2004-06-10 11:03) [0]

Вобщем хочу я к наследнику от TThread приделать интерфейс IAttribut, для использования внутри Delphi. А мне компилятор выдает ошибку Undeclared identifier: "QueryInterface" и тд. Что реализацию придется писать?


 
Clickmaker ©   (2004-06-10 11:05) [1]

type
 IAttribut = interface(IUnknown);


 
Digitman ©   (2004-06-10 11:13) [2]


> Вобщем хочу я к наследнику от TThread приделать интерфейс
> IAttribut


добавлю - "..и еще хочу заработать себе впоследствии геморрой с такой реализацией"

IAttribut = interface;

TMyClass = class(TInterfacedObject, IAttribut)
..
FThread: TMyThread;
..
end;


 
Erik1   (2004-06-10 11:27) [3]

Вобщето я так описал:
 IAttribut = interface
   ["{5236A8EF-F36F-4E5B-876F-1640311F2099}"]
   function  GetID: Integer;
   function  GetDescription: String;
   function  GetGrupp: Integer;
 end;

TCustomThread = class(TThread,  IAttribut)
private
...
   function  GetID: Integer;
   function  GetDescription: String;
   function  GetGrupp: Integer;
emd;
Нехочется наследоватся от TInterfacedObject.


 
Romkin ©   (2004-06-10 11:49) [4]

Не хочется - реализуй три метода IUnknown. Подсмотреть можно в TInterfacedObject.
Примечание: Сразу говорю: передавать интерфейсы между потоками просто так нельзя, сразу получишь катастрофическую ошибку.



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

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

Наверх




Память: 0.45 MB
Время: 0.042 c
14-1086627706
able
2004-06-07 21:01
2004.06.27
Учебник по PHP


1-1087277819
Liinda
2004-06-15 09:36
2004.06.27
Запуск


4-1084855996
slap
2004-05-18 08:53
2004.06.27
Запуск внешней программы из сервиса


9-1078596113
Shopot
2004-03-06 21:01
2004.06.27
Искусственный интелект!!!


1-1086948894
KSergey
2004-06-11 14:14
2004.06.27
Про указатели





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский