用delphi封装的调用回调函数的DLL
说明:
DLL中的输出函数的调用风格不是cdecl,而是pascal风格(windowsAPI多采用这种),通过反汇编moto_srv.dll,发现几个函数的尾部都是ret n的方式返回,即由被调用者负责清理堆栈,而不是cdecl的由调用者通过add esp, n的方式清理堆栈。以上是主要问题,改正方法是把函数原型定义的cdecl去掉,或者改写为pascal(缺省如此,直接去掉cdecl同此);次要问题(或许不是问题),在display中,先不要访问VCL等有关窗体的资源,用writeln输出到屏幕,或者保存到一个文件,看看是否成功。