Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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 в ООП-стиле.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.05 c
14-90368          fliz                  2001-12-04 14:57  2002.01.28  
мне вот тут приколы прислали ...


1-90242           Yaro                  2002-01-08 17:57  2002.01.28  
Совместимость Delphi (CGI) c Unix oм...


14-90383          mashinist             2001-11-28 00:46  2002.01.28  
Апроксимация графика функции.


3-90241           Грифон                2001-12-22 00:59  2002.01.28  
возникла следующая проблемка:


3-90190           Сергей Щ.             2001-12-23 00:40  2002.01.28  
Как паковать таблицу ?