Текущий архив: 2002.12.26;
Скачать: CL | DM;
ВнизИнтерфейс Найти похожие ветки
← →
Paha_ (2002-12-15 15:12) [0]Возможно ли имея указатель на интерфейс, получить указатель на класс, который реализует это интерфейс?
← →
VaS (2002-12-15 15:51) [1]TYourClass(InterfaceRef).
← →
Юрий Федоров (2002-12-15 16:22) [2]А мне кажется что теоретически нельзя.
Он же может быть реализован на любом языке программирования
← →
Dimka Maslov (2002-12-15 16:57) [3]Если класс, реализующий интерфейс написан в Delphi и интерфейс - единственный - то можно.
function GetSoleInterfaceObject(I: IUnknown): TObject;
var
P: Integer;
begin
P := Integer(I);
Inc(P, $fffffd2c); // проверено в D5
Result := TObject(P)
end;
Таким образом может быть получен указатель на объект, в котором реализован единственный интерфейс. Дальше из него можно вытаскивать что угодно.
Если класс унаследован от нескольких интерфейсов, то определить указатель на объект не представляется возможным.
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c