Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
ВнизКак импортировать из DLL класс? Найти похожие ветки
← →
DStealth (2002-01-10 19:01) [0]Как импортировать класс из DLL?
← →
Вадим (2002-01-10 21:14) [1]Никак, Делфи этого не позволяет
← →
Иван Шихалев (2002-01-11 00:34) [2]Зато можно написать Package
← →
DStealth (2002-01-11 10:23) [3]Проблема такая:
Есть DLL на С. Которая экспортирует класс описанный так:
class _MY_CLASS class {
список переменных
список процедур
};
Как из Delphi можно добраться к этим процедурам?
← →
nikkie (2002-01-11 11:15) [4]написать другую длл на c++, которая будет экспортировать функции типа class_create, class_destroy, class_procedure1, ... - функции-обертки для класса. по-другому боюсь никак (разве что на низком уровне разбираясь с форматом в котором хранятся c++ - классы).
такие идеи описаны у Андрея Боровского в статьях на этом сайте (например, http://delphi.mastak.ru/articles/kylix2/index5.html). вроде именно это делает D6, чтобы использовать библиотеку Qt (вот только у меня нет D6, чтобы посмотреть)
← →
DStealth (2002-01-11 14:06) [5]2nikkie © (11.01.02 11:15)
Спасибо!!!
← →
nikkie (2002-01-11 17:25) [6]не за что.
посмотрел D6 у сотрудника - там не так все-таки. библиотеки Qt.dll нет (хотя в Qt.pas она упоминается), есть только QtIntf.dll (размером 4Mb). по идее QtIntf должна была быть обертышом для Qt, но видно разработчики Qt залили это все в одну библиотеку (?).
кстати, почему-то сразу не вспомнился вариант с написанием обертыша в виде не обычной dll, а ActiveX. тогда можно не функции экспортировать, а классы, и использовать его будет удобнее. я писал такой обертыш для библиотеки xerces, чтобы воспользоваться SAX-парсером для XML. вот только писать такой COM приходится на С++, что не очень весело по-началу.
← →
iZEN (2002-01-11 20:49) [7]Байтовый поток кода класса, в отличие от Java, здесь не пашет...:), никакой ClassLoader не поможет...его просто не придумали :)
Это называется двоичный стандарт Microsoft...:)
Можно создать компонент ActiveX и/или обёртки на C++(ObjectPascal) для этой DLL в ООП-стиле.
← →
iZEN (2002-01-11 20:49) [8]Байтовый поток кода класса, в отличие от Java, здесь не пашет...:), никакой ClassLoader не поможет...его просто не придумали :)
Это называется двоичный стандарт Microsoft...:)
Можно создать компонент ActiveX и/или обёртки на C++(ObjectPascal) для этой DLL в ООП-стиле.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c