Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

Как импортировать из 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-90438
HMR
2001-11-24 16:35
2002.01.28
Создание скрытых окон


6-90341
Dinara
2001-11-06 02:32
2002.01.28
Использование Indy


3-90227
Wladimir
2001-12-25 06:40
2002.01.28
Баг с размещением на форме элементов Tedit над колонками DBGrid


6-90348
evgen_2001
2001-11-05 16:10
2002.01.28
Передача структуры по сокету


1-90286
Ig
2002-01-08 22:43
2002.01.28
Внешние компоненты в 1С