У меня есть dll, вызовы которой не нужно изменять, но она должна вызываться из программы (приводить пример функции не буду, т.к. сейчас немного не об этом). Я не могу понять почему вот такой тестовый пример не работает:
function TestRunMethod2(x1 :Integer):Integer; export;
begin
Result := x1;
end;
Код С++:
HMODULE mod = LoadLibraryW(L"Project12.dll");
typedef int (__fastcall *f_funci)(int x1);
f_funci funci = (f_funci)GetProcAddress(mod, "TestRunMethod2");
register - это ведь fastcall?
Не работает в данном случае - вместо результата возвращает 0. Если объявить как stdcall и там и там, всё нормально. Но мне нужно будет вызвать функцию, которая не объявлена как stdcall.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.