function mta001_Exit: Integer; stdcall; external MTASDK name '_mta001_Exit@8';
你们好多都没看清楚,他没有dll的代码,那只能改delphi的接口声明,vc是按索引查找的,delphi是按名称查找的,因为vc中他没有用def导出。所以名称不一样,你只能是类似楼上这样,dll导出是什么名称就用什么名称 function mta001_Exit(): Integer; stdcall; external MTASDK name '_mta001_Exit'; 那个@8是索引,不能放进去
extern "C" BYTE M1READER_API OpenReader ();
Delphi里这样
function OpenReader: Byte; cdecl; external 'Reader.dll';vc里 __stdcall这样的可能delphi不能直接调用的。
function mta001_Exit(): Integer; stdcall; external MTASDK name '_mta001_Exit';
那个@8是索引,不能放进去
function mta001_Exit: Integer; stdcall; external MTASDK name '_mta001_Exit@8';__stdcall表示:
1.参数从右向左压入堆栈
2.函数被调用者修改堆栈
3.函数名(在编译器这个层次)自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸