用delphi封裝的調用回調函數的DLL
說明:
DLL中的輸出函數的調用風格不是cdecl,而是pascal風格(windowsAPI多采用這種),通過反匯編moto_srv.dll,發現幾個函數的尾部都是ret n的方式返回,即由被調用者負責清理堆棧,而不是cdecl的由調用者通過add esp, n的方式清理堆棧。以上是主要問題,改正方法是把函數原型定義的cdecl去掉,或者改寫為pascal(缺省如此,直接去掉cdecl同此);次要問題(或許不是問題),在display中,先不要訪問VCL等有關窗體的資源,用writeln輸出到屏幕,或者保存到一個文件,看看是否成功。