Соглашения о вызовах DLL
Автор: David Berg
Кто-нибудь может мне сказать, почему мои перекомпилированные
DLL-ки не грузятся? Передаются только данные, имеющие тип pchars и
integer.
Одно отличие между 16- и 32-битной версией Delphi - соглашение о вызове.
16-битная версия использует по умолчанию вызов PASCAL (перекрываемый CDECL).
32-битная использует по умолчанию FASTCALL, но может перекрываться CDECL, PASCAL
или STDCALL.
Я не уверен в том, что сейчас использует VB (в 16-битном Windows API был
Pascal, в 32-битном - STDCALL). Я добавляю ко всем экспортируемым функциям
ключевое слово "PASCAL". Если это не решает проблему, попробуйте использовать
"STDCALL".
|