Вызов внешней DLL из VC++ 6.0
От: Руль Россия www.guseynov.ru/resume.htm
Дата: 27.03.09 16:01
Оценка:
Добрый день.
Имею внешнюю DLL. Имею _работающий_ пример ее использования на Delphi.

function Func1; stdcall; cdecl; external DLLPath name 'XXX';
function Func2(var vOut:byte):WORD; stdcall; cdecl; external DLLPath name 'XXX';

переписал на VC++ в виде:

typedef WORD (WINAPI *typefn_Func1)();
typedef WORD (WINAPI *typefn_Func2)(byte * vOut);

Сделал красивый класс-обертку, корректно исполняю LoadLibrary и все такое прочее.

Вызов Func1, который без параметров проходит "на ура".
При вызове Func2 портятся мои внутренние локальные переменные.
Подозреваю, что из-за неправильного описания.
Вместо WINAPI, которое суть есть __stdcall, пробовал поставить как __cdecl, так и __fastcall.
При __fastcall все вылетало на exception, __cdecl тоже отрабатывал не нормально.

Подскажите, пожалуйста, как мне оформить вызов Func2 в C++?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.