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

Вниз

Динамическая линковка интерфейсов   Найти похожие ветки 

 
Midnighter ©   (2007-03-18 19:16) [0]

Здравствуйте,

Вопрос следующий: как корректно привести указатель неопределенного вида к определенному интерфейсу? При єтом указатель указывает на класс который поддерживает нужный интерфейс.

Пример кода:


IMyInterface = interface (IInterface)
...
end;

TObject1 = class (TInterfacedObject, IInterface)
...
end;

TObject2 = class (TInterfacedObject, IInterface)
...
end;


Далее, хочу привести указатель к интерфейсу, например:

Var
Item: IMyInterface;
Ptr: pointer;
...

Ptr := TObject1.Create;

Item := TInterfacedObject(Ptr) as IMyInterface;
// не работает. Ошибка "Интерфейс не поддерживается"

Item := IMyInterface(Ptr);
// не работает. Access violation


Спасибо


 
Kolan ©   (2007-03-18 19:37) [1]

> Item := TInterfacedObject(Ptr) as IMyInterface;
> // не работает. Ошибка «Интерфейс не поддерживается»

А что TInterfacedObject реализует IMyInterface? Да и TObject1 и TObject2 тоже его не реализуют&#133


 
Midnighter ©   (2007-03-18 19:42) [2]

Сорри, код такой:

TObject1 = class (TInterfacedObject, IMyInterface)
...
end;

TObject2 = class (TInterfacedObject, IMyInterface)
...
end;


А TInterfacedObject  по идее тут не должен реализовывать IMyInterface, это ведь и есть динамическая связка.

И код заработал, нужно было корректный GUID моему интерфейсу прописать

Спасибо :-)


 
Kolan ©   (2007-03-18 19:53) [3]

> корректный GUID

Врядли в этом дело, хотя &#133


 
Ант   (2007-03-18 20:23) [4]

разумеется AS работает только в том случае ,если есть корректный гуид
иначе даже не скомпилится



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
15-1176404791
DBGrid
2007-04-12 23:06
2007.05.13
Где скачать


15-1176575815
DillerXX
2007-04-14 22:36
2007.05.13
Не совсем пятничная задачка, но очень интересно как решать


2-1177098420
Karapuz
2007-04-20 23:47
2007.05.13
Delphi & CGI


3-1172297929
SergTT
2007-02-24 09:18
2007.05.13
Иерархическое отображение данных


2-1177066247
Настена
2007-04-20 14:50
2007.05.13
Помогите пожалуйста...