Класс из DLL
как можно получить этот класс в программу.
Есть 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 про другие знать и не надо), можно написать Н-файл
Вот только с параметрами функций сложнее. Видимо про параметр говорят символы после $ но как из соотнести с типами сам бы хотел очень узнать. Может кто подскажет?
это кусок DEF-файла, который я сделал из своей DLL в которой обьявлен класс TdataDB
impdef -a -h mydll.def mydll.dll
здесь видно какие функции есть в классе (только экспортные. но чтобы работать с DLL про другие знать и не надо), можно написать Н-файл
Вот только с параметрами функций сложнее. Видимо про параметр говорят символы после $ но как из соотнести с типами сам бы хотел очень узнать. Может кто подскажет?
Если не трудно, подскажи как писать header, и как импортировать ф-ии из DLL.
А то я только начинаю изучение работы с DLL, а в книжке про них очень мало, и половина не получается.
Если не трудно, подскажи как писать header, и как импортировать ф-ии из DLL.
А то я только начинаю изучение работы с DLL, а в книжке про них очень мало, и половина не получается.
Заголовок в принципе можно написть как угодно, лишь бы имена функций и параметры совпадали.
Lib делается при помощи implib.exe, подключается к проекту, DLL кладется рядом или в пределах видимости, и все, в проекте можно вызывать функции DLL, если они описаны в заголовке.
Можно вообще не делать LIB а прямо на лету загружать DLL LoadLibrary и брать из нее адреса функций по именам, для этого в проекте нужно обявить указатель на такую-же функцию и инициализировать его при помощи GetProcessAddress
все равно, чтобы написать заголовок нужно знать типы параметров функций. Как-то с этим не очень понятно, когда используешь чужую DLL.