【发布时间】:2008-10-14 00:47:02
【问题描述】:
到目前为止,我已经弄清楚了如何使用 Typelib 将 Unicode 字符串 bSTR 传入和传出 Euphoria DLL。到目前为止,我不知道如何创建和传回 BSTR 数组。
到目前为止我拥有的代码(以及用于 EuCOM 本身和部分 Win32lib 的 includes):
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”。有任何想法吗?有人吗?
【问题讨论】: