Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Класс из DLL

451
04 февраля 2003 года
Gerret
51 / / 20.05.2000
Есть DLL с классом, есть .LIB, но нет .H.
как можно получить этот класс в программу.
362
05 февраля 2003 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by Gerret
Есть DLL с классом, есть .LIB, но нет .H.
как можно получить этот класс в программу.



_@TdataDB@Fill$qv=@TdataDB@Fill$qv;TdataDB::Fill()
_@TdataDB@Ind$qv= @TdataDB@Ind$qv;TdataDB::Ind()
_@TdataDB@IsModified$qv=@TdataDB@IsModified$qv; TdataDB::IsModified()
_@TdataDB@ReadOnly$qo=@TdataDB@ReadOnly$qo; TdataDB::ReadOnly(bool)
_@TdataDB@Resize$qv=@TdataDB@Resize$qv; TdataDB::Resize()
_@TdataDB@Save$qv=@TdataDB@Save$qv;TdataDB::Save()
_@TdataDB@Show$qv=@TdataDB@Show$qv;TdataDB::Show()

это кусок DEF-файла, который я сделал из своей DLL в которой обьявлен класс TdataDB
impdef -a -h mydll.def mydll.dll
здесь видно какие функции есть в классе (только экспортные. но чтобы работать с DLL про другие знать и не надо), можно написать Н-файл
Вот только с параметрами функций сложнее. Видимо про параметр говорят символы после $ но как из соотнести с типами сам бы хотел очень узнать. Может кто подскажет?

451
05 февраля 2003 года
Gerret
51 / / 20.05.2000
Цитата:
Originally posted by _kolyan


это кусок DEF-файла, который я сделал из своей DLL в которой обьявлен класс TdataDB
impdef -a -h mydll.def mydll.dll
здесь видно какие функции есть в классе (только экспортные. но чтобы работать с DLL про другие знать и не надо), можно написать Н-файл
Вот только с параметрами функций сложнее. Видимо про параметр говорят символы после $ но как из соотнести с типами сам бы хотел очень узнать. Может кто подскажет?



Если не трудно, подскажи как писать header, и как импортировать ф-ии из DLL.
А то я только начинаю изучение работы с DLL, а в книжке про них очень мало, и половина не получается.

362
05 февраля 2003 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by Gerret


Если не трудно, подскажи как писать header, и как импортировать ф-ии из DLL.
А то я только начинаю изучение работы с DLL, а в книжке про них очень мало, и половина не получается.



Заголовок в принципе можно написть как угодно, лишь бы имена функций и параметры совпадали.
Lib делается при помощи implib.exe, подключается к проекту, DLL кладется рядом или в пределах видимости, и все, в проекте можно вызывать функции DLL, если они описаны в заголовке.

Можно вообще не делать LIB а прямо на лету загружать DLL LoadLibrary и брать из нее адреса функций по именам, для этого в проекте нужно обявить указатель на такую-же функцию и инициализировать его при помощи GetProcessAddress

все равно, чтобы написать заголовок нужно знать типы параметров функций. Как-то с этим не очень понятно, когда используешь чужую DLL.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог