Article ID: 177218
Article Last Modified on 1/9/2006
VARIANT _stdcall retVariantArray(void) {
COleSafeArray saRet;
DWORD numElements[] = {10, 10}; // 10x10
// Create the safe-array...
saRet.Create(VT_R8, 2, numElements);
// Initialize it with values...
long index[2];
for(index[0]=0; index[0]<10; index[0]++) {
for(index[1]=0; index[1]<10; index[1]++) {
double val = index[0] + index[1]*10;
saRet.PutElement(index, &val);
}
}
// Return the safe-array encapsulated in a VARIANT...
return saRet.Detach();
}
retVariantArray
Private Declare Function retVariantArray Lib "c:\mydll.dll" _
() As Variant
Private Sub Command1_Click()
Dim myarr As Variant
myarr = retVariantArray
MsgBox "myArr(1,1) = " & myarr(1, 1)
End Sub
Additional query words: vb
Keywords: kbhowto kbautomation kbsample KB177218