1
我想在一個免費的Pascal項目使用ActiveX對象時,從文檔我知道一個方法聲明爲使用在免費帕斯卡爾的ActiveX方法VARIANT *參數的
long Fetch(VARIANT* vValue)
其中vVariant會調用後包含結果(整數或浮點值)。
的LazActiveX「導入類型庫」功能轉換這
_SomeApi = dispinterface
['...']
...
function Fetch(vValue: OleVariant):Integer;
...
end;
我正要OleVariant有點驚訝,因爲只有簡單數據類型應返回。當使用v:OleVariant調用Fetch(v)時,我還得到了EOleSysError(類型不匹配)。
任何人都可以向我解釋如何在TLB中正確聲明此方法或如何訪問數據?不幸的是,我沒有Fetch()的源碼,其中一些內容由NDA覆蓋...
必須是OleVariant類型的輸出參數。不要相信進口商。自己做。但OleVariant是正確的。變體只包含簡單類型的事實並不改變其變體的事實。 –
試試這個:function Fetch(vValue:^ TVarData):Integer; – yms
不要相信進口商。相信Heffernan先生。使用「var」參數完成了這項工作,謝謝! – LeRookie