到目前为止,我已经弄清楚了如何使用 Typelib 将 Unicode 字符串 bSTR 传入和传出 Euphoria DLL。到目前为止,我无法弄清楚的是如何创建和传回 BSTR 数组。
到目前为止我拥有的代码(以及include
用于 EuCOM 本身和部分 Win32lib 的 s):
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”。有任何想法吗?任何人?