これまでのところ、Typelib を使用して Euphoria DLL との間で Unicode 文字列 (bSTR) を渡す方法を理解しました。これまでのところ、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」だけです。何か案は?誰?