原型1:int __stdcall GetDLLVersion(uchar *bufVer)
PB參考:FUNCTION ulong GetVer(ref string bufVer) LIBRARY "sock_com.dll" alias for "GetDLLVersion"
呼叫:li_ret=getver(ls_ver)
運行結果:報錯
原型2:int __stdcall initUSB(uchar d12)
PB參考:FUNCTION ulong InitUSBA(char d12) LIBRARY "proRFL.dll" alias for "initUSB"
呼叫:li_ret=InitUSBA('1')
運行結果:報錯
uj5u.com熱心網友回復:
試試這樣:原型1:int __stdcall GetDLLVersion(uchar *bufVer)
PB參考:FUNCTION int GetVer(ref string bufVer) LIBRARY "sock_com.dll" alias for "GetDLLVersion;ansi"
原型2:int __stdcall initUSB(uchar d12)
PB參考:FUNCTION int InitUSBA(char d12) LIBRARY "proRFL.dll" alias for "initUSB;ansi"
uj5u.com熱心網友回復:
最好是把錯誤資訊帖上來uj5u.com熱心網友回復:
還是不行,錯誤就是:Aplication termilated
Error:bad runtime function reference at line 4 。。。。。
uj5u.com熱心網友回復:
傳入的string 要用space()函式初始化一下,分配好記憶體大小,再傳uj5u.com熱心網友回復:
你是如果傳的?有沒有初始化string變數?uj5u.com熱心網友回復:
試過了ls_ver=space(128)
li_ret=getver(ls_ver)
照樣報錯
uj5u.com熱心網友回復:
看樣子應該與PB呼叫無關了,檢查一下你的DLL吧,是不是對應的函式引數不同uj5u.com熱心網友回復:
別人提供的DLL啊,提供的原型都有了,是不是我的參考出了錯誤?uj5u.com熱心網友回復:
如果它提供的原型沒有錯,那這樣的呼叫理應也是沒有錯的
uj5u.com熱心網友回復:
FUNCTION int GetVer(ref char bufVer[]) LIBRARY "sock_com.dll" alias for "GetDLLVersion"uj5u.com熱心網友回復:
FUNCTION ulong GetVer(ref char bufVer[]) LIBRARY "sock_com.dll" alias for "GetDLLVersion"FUNCTION ulong InitUSBA(char d12[]) LIBRARY "proRFL.dll" alias for "initUSB"
uj5u.com熱心網友回復:
char ls_ver[]
ulong li_ret
ls_ver=space(128)
li_ret=getver(ls_ver)
運行還是報錯
uj5u.com熱心網友回復:
在不行用blob轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73489.html
標籤:API 調用
