C# 實體
函式
[DllImport("termb.dll", EntryPoint = "GetFPDate", CharSet = CharSet.Ansi, SetLastError = false, CallingConvention = CallingConvention.StdCall)]
public static extern int GetFPDate(ref byte strTmp, ref int strLen);
byte[] ICFeatureData;
ICFeatureData = new byte[1024];
GetFPDate(ref ICFeatureData[0], ref length);
這些代碼在pb中如何實作。以下是我的轉換
Function Integer GetFPDate(Ref String strTmp,Ref Long strLen) Library 'termb.dll' Alias For "GetFPDate;Ansi"
string ls_str
Long Length
ls_str = Space(1024)
GetFPDateCS(ls_str ,Length)
獲取值不正確,去大神解決
uj5u.com熱心網友回復:
怎么沒有人碰到過嗎?求大神傳授經驗啊uj5u.com熱心網友回復:
PB中也有Byte,你可以試試這個或者用blob
uj5u.com熱心網友回復:
byte[1024] 太大了,PB沒有byte型別(二進制),這應該是1024位二進制一般一個地址FFFF是16位二進制
建議找到類似的dll介面函式,能夠分段讀取的(假設為GetFPDateCStmp),比如每次讀16位二進制
//定義一個數值(10進制)
long ll_ICFeatureDatatmp
ll_ICFeatureDatatmp = 65535 //必須初始化
GetFPDateCStmp(ll_ICFeatureDatatmp ,Length)
然后通過轉換(可能需要轉為16進制),回圈讀取再拼接起來
uj5u.com熱心網友回復:
感謝,pb學習的不深,感覺好復雜。自己想辦法解決吧
uj5u.com熱心網友回復:
Function Integer GetFPDate(Ref blob strTmp,Ref Long strLen) Library 'termb.dll' Alias For "GetFPDate;Ansi"
Function Integer GetFPDate(Ref byte strTmp,Ref Long strLen) Library 'termb.dll' Alias For "GetFPDate;Ansi"
執行的時候都會報錯的
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/26410.html
標籤:API 調用
上一篇:Data Source報錯
下一篇:pb 程式如何在安卓系統上運行
