Текущий архив: 2003.05.22;
Скачать: CL | DM;
Вниз
Как работать с VTable Найти похожие ветки
← →
o_viz2000 (2003-05-12 02:51) [0]1. Может кто знает, какая точная структура VTable?
2. Я получаю ссылку на какой нибудь класс извне (из ДЛЛ) например. У класса первые поля это ссылка на VTable методов. С помощью ее пытался запускать методы класса, но ничего не получается. Выдает ошибку нарушения доступа к памяти.
Посоветуйте пожайлуста что-нибудь.
← →
MBo (2003-05-12 06:19) [1]1) Видимо, имеется в виду VMT - смотри system.pas
2) Вместо DLL используй пакеты
← →
o_viz2000 (2003-05-12 12:52) [2]А если классы не Паскалевские а к примеру Visual C++.
Суть задачи следующая: получаю контекст класса из другой DLL. Точно определяю адресс VMT. Теперь сам вопрос: как все-таки вызвать тот или иной метод класса, непосредственно из VMT.
Все чего добился так это Acess Violation.
← →
Zelius (2003-05-12 12:56) [3]Здесь больше подойдут СОМ-интерфейсы, они специально для этого и придуманы.
← →
Dms (2003-05-12 12:58) [4]
> Все чего добился так это Acess Violation
и правильно. нельзя один объект в разных модулях использовать. НЕЛЬЗЯ. для этого придумали COM-технологию.
← →
Fantasist. (2003-05-12 21:08) [5]
> и правильно. нельзя один объект в разных модулях использовать.
> НЕЛЬЗЯ. для этого придумали COM-технологию.
СОМ-объекты - это интерфейсы, интерфейсы - это просто виртуальные таблицы, если маршалинг не нужен. Значит, с использованием виртуальных таблиц все OK, статический код один и тот же, чего же тогда в объекте использовать нельзя?
Страницы: 1 вся ветка
Текущий архив: 2003.05.22;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c