只要是需要有引數輸入的函式,就會出問題,也就是說不能輸入引數,
如果沒有引數傳入就能正常回傳值.
不知何故?
uj5u.com熱心網友回復:
說得也太不清楚了!DLL是怎么定義的!
PB中是怎么定義的,怎么用的!
uj5u.com熱心網友回復:
我用VC寫了一個DLL,里面包括了很多個function有些function是不需要傳入引數,而這些Function在呼叫時,可以正常回傳所需要值
PB中的聲明是
function integer CheckPrint() LIBRARY "SNDLL.dll"
而有些Function是需要傳入值的,這些Function在呼叫時就會提示"invalid stack pointer on return form function call"的錯誤.
PB中的聲明是
function integer ReturnInt(integer ReturnChar_i) LIBRARY "SNDLL.dll"
uj5u.com熱心網友回復:
函式宣告好像沒有錯誤,要看你VC的dll是怎么寫的了,還有就是dll中函式的export方式。你可以對dll除錯一下,或者寫個日志出來,看看你的PB傳入的到底是個什么數。
uj5u.com熱心網友回復:
注意資料型別的匹配。vc中的int對應pb中的long。等等
uj5u.com熱心網友回復:
估計是c的dll宣告呼叫方式不對,我記得我那時寫了stdcall才好用uj5u.com熱心網友回復:
注意變數型別對應。。。byte在pb中,使用char吧?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92176.html
標籤:API 調用
下一篇:PB呼叫水晶報表的問題
