我在表單中,使用了外部的DLL檔案,用Declare宣告了dll中的函式,在使用上沒有問題,但在編譯時,卻要定位檔案,忽略過去是可以,沒有問題,使用上也沒有問題,只是我不理解,為何我宣告的函式,還要去定位它?且在編譯完的錯誤中,有對應的提示資訊

編譯完后報的錯誤資訊如下:
表單 D::\2017\resource\form\omrtype.scx 包含下列錯誤:
未知的 OMRINIT - 未定義
我宣告dll的函式:
lcdriver = ".\dll\OmrComm.dll"
DECLARE INTEGER OmrInit IN &LcDriver INTEGER tn
lnret = OmrInit(i)
我將宣告換成了
DECLARE INTEGER OmrInit IN &LcDriver as OmrInit INTEGER tn
也是一樣不行,我弄不清楚了,請大家指點.謝謝了!
uj5u.com熱心網友回復:
DECLARE INTEGER OmrInit IN &LcDriver INTEGER tn改為
*DECLARE INTEGER OmrInit IN (lcdriver) INTEGER tn
或
DECLARE INTEGER OmrInit IN ".\dll\OmrComm.dll" INTEGER tn
uj5u.com熱心網友回復:
增加代碼:IF .F.
PUBLIC OmrInit(1)
ENDIF
或:
...
RETU
PROC OmrInit
RETU
uj5u.com熱心網友回復:
十豆三 版主的結論正確.但我想知道,這三種呼叫方式,為何會都可用,但VFP卻區分對待的原因,請不吝賜教!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/112404.html
標籤:VFP
