Показать сообщение отдельно
Старый 15.04.2004, 13:54   #2  
Tony Green is offline
Tony Green
Участник
Аватар для Tony Green
 
184 / 25 (1) +++
Регистрация: 08.10.2002
Адрес: Москва
Обстоятельства изменились. Теперь так: есть пара функций в DLL следующего вида:

PHP код:
function RetString(sPChar): PChar;
begin
  result 
:= s;
end;

function 
RetInteger(iInteger): Integer;
begin
  result 
:= i;
end
При их вызове из axapta вот таким путём:
PHP код:
retString.returns(ExtTypes::String);
retString.arg(ExtTypes::String);
retString.call('My String'); 
или вот так соответственно:
PHP код:
retInteger.returns(ExtTypes::DWord);
retInteger.arg(ExtTypes::DWord);
retInteger.call(2); 
получаем ошибку:
Значение регистра ESP не было сохранено при вызове функции 'RetString' в библиотеке DLL 'retdata'. Причиной может являться вызов функции DLL, которая объявлена с неверным числом аргументов.

Есть предположения, что это значит и как бороться?
__________________
С уважением,
Tony Green