到目前为止,我已经想出了如何使用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