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

Ваш аккаунт

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

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

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

Как подключить Dll?

1.7K
06 июня 2006 года
ilyes
181 / / 22.02.2006
Делаю как в сталтье
Код:
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 несколько параметров, а тут только один. Пишу:

AttachXrex= (void(__stdcall *) (char*)(char*)(char*)(int)(int))

ругается, а как надо писать не подскажете?
9.5K
06 июня 2006 года
Damarus
101 / / 08.04.2006
Можно так:
 
Код:
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);


Или так:
 
Код:
typedef void (__stdcall *PAttachXrex)(char*, char*, char*, int, int);
//............
PAttachXrex AttachXrex = (PAttachXrex)GetProcAddress(dllp, "_AttachXrex");
//............
AttachXrex(0, 0, 0, 0, 0);
1.7K
07 июня 2006 года
ilyes
181 / / 22.02.2006
Спасибо за ответ, вроде все правильно, но вот труба эта библиотека написана на Visual C++, и Билдер мне выдает:

---------------------------
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), я че-то нигде не нашел
Это че все, кирдык байрам? Или может есть выход?
585
07 июня 2006 года
honeybeer
297 / / 06.09.2004
Библиотека написана в MS VS 200x, посему без MSVCP60D.dll работать не будет (весь CRT-код там), найдите ее и все, это не сложно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог