Использование DLL на С++
От: Cadet  
Дата: 10.12.02 09:47
Оценка:
Имеется DLL написанная на С++. В ней две функции, например void Message() и short Add(short, short). Описаны они таким образом:


extern "C" __declspec(dllexport) void Message()
{
    MessageBox(NULL, "Message", "Title", MB_OK;
}

extern "C" __declspec(dllexport) short Add(short x, short y)
{
    return x+y;
}


Дело вот в чем. Достучаться до первой функции получается без проблем, при попытке обратиться ко второй вылетает сообщение о неправильном формате DLL (функция в Basic описывается соответственно с Integer параметрами, т.к в С++ short занимает 2 байта. Здесь речь идет о VC++ 6.0). Как я понял, ошибка происходит при передаче в DLL параметров по значению. Пробовал передавать ByRef (меняя соответственно short на short*), все то же самое. Объясните плз, в чем дело. Может в DLL описать функции по другому, либо из Basic-а обращаться к ним как-то по особому?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.