将字符串数组从VB6传递到COM对象

将字符串数组从VB6传递到COM对象,vb6,atl,Vb6,Atl,我正在使用ATL在DLL周围创建COM包装。对于某些函数,我需要传递一个字符串数组。如何设置IDL,以便VB6中的intellisense将参数显示为“字符串”,而不仅仅是“字符串”或“变量”?您需要: [in,out]安全阵列str*inout_asParam我就是这么想的。那么,为什么在使用[id2,helpstringmethod StartupInitialization]HRESULT StartupInitialization[in]LONG argc、[in]SAFEARRAYBS

我正在使用ATL在DLL周围创建COM包装。对于某些函数,我需要传递一个字符串数组。如何设置IDL,以便VB6中的intellisense将参数显示为“字符串”,而不仅仅是“字符串”或“变量”?

您需要:


[in,out]安全阵列str*inout_asParam

我就是这么想的。那么,为什么在使用[id2,helpstringmethod StartupInitialization]HRESULT StartupInitialization[in]LONG argc、[in]SAFEARRAYBSTR*argv、[in]SAFEARRAYBSTR*argE、[out,retval]IWorkArea**WA;错误C2143:语法错误:在“*”之前缺少“,”错误C2059:语法错误:错误C2143:语法错误:在“;”之前缺少