void (__stdcall *AttachXrex)(char *s);
HINSTANCE dllp = LoadLibrary("ExWriteDwg.dll");
if (dllp) {
AttachXrex= (void(__stdcall *) (char*))
GetProcAddress(dllp, "_AttachXrex");
if (AttachXrex)
ShowMessage("Гуд");
}
else
ShowMessage("Косяки");
FreeLibrary(dllp);
Как подключить Dll?
Код:
Че-то не нашел кнопку вставить код...
Вопрос вот в чем: у функции в Dll несколько параметров, а тут только один. Пишу:
AttachXrex= (void(__stdcall *) (char*)(char*)(char*)(int)(int))
ругается, а как надо писать не подскажете?
Код:
void (__stdcall *AttachXrex)(char*, char*, char*, int, int);
//............
AttachXrex = (void (__stdcall *)(char*, char*, char*, int, int))
GetProcAddress(dllp, "_AttachXrex");
//............
AttachXrex(0, 0, 0, 0, 0);
//............
AttachXrex = (void (__stdcall *)(char*, char*, char*, int, int))
GetProcAddress(dllp, "_AttachXrex");
//............
AttachXrex(0, 0, 0, 0, 0);
Или так:
Код:
typedef void (__stdcall *PAttachXrex)(char*, char*, char*, int, int);
//............
PAttachXrex AttachXrex = (PAttachXrex)GetProcAddress(dllp, "_AttachXrex");
//............
AttachXrex(0, 0, 0, 0, 0);
//............
PAttachXrex AttachXrex = (PAttachXrex)GetProcAddress(dllp, "_AttachXrex");
//............
AttachXrex(0, 0, 0, 0, 0);
---------------------------
Project1: Project1.exe - Не найдена библиотека DLL
---------------------------
Библиотека DLL MSVCP60D.dll не найдена по указанному пути D:\El Yes\Projects\C++Builder\tmpDvjAttDet;.;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;D:\PROGRA~1\Borland\CBUILD~1\Bin;D:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;C:\PROGRAM FILES\ROBOT OFFICE\RCAD 5.0\EXE;C:\WINNT\SYSTEM32;C:\WINNT;C:\WINNT\SYSTEM32\WBEM;C:\PROGRAM FILES\COMMON FILES\AUTODESK SHARED\;D:\CEA\Plant-4D\COMMON\BIN;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;.
Этот файл (MSVCP60D.dll), я че-то нигде не нашел
Это че все, кирдык байрам? Или может есть выход?
Библиотека написана в MS VS 200x, посему без MSVCP60D.dll работать не будет (весь CRT-код там), найдите ее и все, это не сложно.