Здравствуйте, Seeker, Вы писали:
S>Здравствуйте, _const_, Вы писали:
S>>>Так было написано в спецификации к вызывающей программе
S>>>Т.к. в синтаксисе Паскаля я не силен, приходится верить.
S>>>В VC по-умолчанию как раз используется cdecl, а как в Delphi?
__>>В Дельфи, по-моему, так
__>>__>>TDLLFunc = function (inParam:PChar;outParam:PChar;outSize:integer): Integer; cdecl;
__>>
S>Тогда в чем может быть причина, есть идеи?
У меня работает так.
В Дельфи
var
DLLFunc: function (inParam:PChar;outParam:PChar;outSize:integer): Integer; cdecl;
...
@DLLFunc := GetProcAddress(...);
Обращаем особое внимание на cdecl в конце.
В VC
extern "C" __declspec(dllexport) int DLLFunc(char inParam, char outParam, int outSize);
И никаких DEF файлов. При этом в компиляторе указано по умолчанию cdecl (хотя этот параметр настраиваемый). Иначе изменяем на
extern "C" __declspec(dllexport) int __cdecl DLLFunc(char inParam, char outParam, int outSize);
Вообще же Микрософт говорит, что экспортируемые ф-ции должны быть по __stdcall.