Главная страница
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.47 MB
Время: 0.035 c
9-1078325301
Гарри Поттер
2004-03-03 17:48
2004.06.27
Несколько текстур на цилиндр OpenGL


14-1086803093
Vasya.ru
2004-06-09 21:44
2004.06.27
Баттон в виде рычага


8-1081334219
ЁПРСТ
2004-04-07 14:36
2004.06.27
Как нарисовать на форме текст без фона?


14-1086453755
ЫШО
2004-06-05 20:42
2004.06.27
Модуль


4-1084796982
KORN
2004-05-17 16:29
2004.06.27
Копирование с "msctls_progress32"