Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
ВнизInterface и указатель Найти похожие ветки
← →
NDelphist (2002-04-04 10:27) [4]>Начнем с того, что вот эта строчка QI:=p; - нонсенс.
>QI - переменная процедурного типа,
>в то время как P содержит на момент выполнения строчки содержит >отнюдь не адрес некоей ф-ции, а указатель на интерфейсный объект
Так, отлично, а что по вашему такое "переменная процедурного типа" и "указатель на интерфейсный объект объект"?
Что по вашему происходит, когда вы делаете так:
var
proc:procedure;
begin
...
proc:=GetProcAddress(_Mod,"SomeProc");
end;
GetProcAddress возвращает то адрес(целое 4 байта)!
Попробуйте так:
var
proc:procedure;
p:pointer;
begin
...
p:=GetProcAddress(_Mod,"SomeProc");
proc;
end;
К вашему удивлению, такая вещь заработает! Хотя ладно, положим это вы и так знали. Тогда далее...
Нет никаких интерфейсных объектов. Интерфейс - это vtable(таблица методов), иначе было бы невозможно обеспечить унифицированный стандарт. По стандарту, такая вещь должна работать, но по видимому как-то не так.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c