How can I pass array via COM ?
Posted on 2011-09-16
I have a VB6 application which pass command to a ActiveX OCX written in C by me. I should pass array like this
Dim sLogoPics() As String
sLogoPics(1) = "C:\Logo001.tif"
sLogoPics(2) = "C:\Logo002.tif"
The question is – can I transfer a such array via COM (ActiveX) ? Here you also the declaration in C
long CCPlayCtrl::AnimationStaticPic(long lCard, type? sPicFile)
// here I should get values of array in LPCTSTR. There no any other type which I can use as later I’ll need to pass LPCTSTR type to DLL from other software vendor.
I should get
Also I need advice what type to put here in place of VTS_BSTR. It should be one of primary OLE types as VB6 do not accept all OLE types.
DISP_FUNCTION(CCPlayCtrl, "AnimationStaticPic", AnimationStaticPic, VT_I4, VTS_I4 VTS_BSTR
I prefer to use only C code, not C++, but in final case I’ll use C++