Добрый день.
Имею внешнюю 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++?