Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-70321
Filat
2003-05-07 20:27
2003.05.22
RxDBLookupCombo в режиме ReadOnly, почему?


3-70133
Desdechado
2003-04-26 20:45
2003.05.22
Соглашения о вызовах функций для FB1 на Linux


8-70402
M4st4K
2003-02-11 18:23
2003.05.22
Как наити компоненту


14-70439
xman
2003-05-02 12:59
2003.05.22
Кто знает?


9-70081
Crazy Max
2002-12-14 17:34
2003.05.22
2-х оконное приложение на OpenGl




   Наверх