到目前爲止,我已經想出瞭如何使用Typelib傳遞Unicode字符串bSTRs到和來自Euphoria DLL。到目前爲止,我無法弄清楚如何創建並傳回一組BSTR。如何使用EuCOM在Euphoria中創建BSTR的變體數組?
我有迄今(與include
S表示EUCOM本身和零件Win32lib的一起)的代碼:
global function REALARR()
sequence seq
atom psa
atom var
seq = { "cat","cow","wolverine" }
psa = create_safearray(seq, VT_BSTR)
make_variant(var, VT_ARRAY + VT_BSTR, psa)
return var
end function
部分是:
[
helpstring("get an array of strings"),
entry("REALARR")
]
void __stdcall REALARR([out,retval] VARIANT* res);
並且測試碼,在VB6是:
...
Dim v() as String
V = REALARR()
...
到目前爲止,我設法得到的是DLL中的錯誤「0」。有任何想法嗎?任何人?
謝謝,馬特,我已經給它去了。 – bugmagnet 2009-11-05 02:28:34