SAFEARRAY *pSA = NULL;
SAFEARRAYBOUND bound[3];
bound[0].lLbound = 0;
bound[0].cElements = nItems;
bound[1].lLbound = 0;
bound[1].cElements = 4;
pSA = SafeArrayCreate(VT_BSTR, 2, bound);
if (NULL != pSA)
{
long index[2];
int iItem = 0;

index[0] = iItem;
index[1] = 0;
SafeArrayPutElement(pSA, index, href1);

index[1] = 1;
SafeArrayPutElement(pSA, index, cookie1);

index[1] = 2;
SafeArrayPutElement(pSA, index, descr1);

index[1] = 3;
SafeArrayPutElement(pSA, index, ((0 == iItem) ? userAgent : NULL));


iItem++;
index[0] = iItem;
index[1] = 0;
SafeArrayPutElement(pSA, index, href2);

index[1] = 1;
SafeArrayPutElement(pSA, index, cookie2);

index[1] = 2;
SafeArrayPutElement(pSA, index, descr2);

index[1] = 3;
SafeArrayPutElement(pSA, index, ((0 == iItem) ? userAgent : NULL));
VARIANT var;
VariantInit(&var);
var.vt = VT_ARRAY | VT_BSTR;
var.parray = pSA;
我写成这样,但不对,怎么改呢?var
Param: OleVariant;
begin
      Param := VarArrayCreate([0, Names.Count - 1, 0, 3], varVariant);
 50   begin
        Param[i, 0] := WideString(Links[i]);
        Param[i, 2] := WideString(Names[i]);
      end;
      Param[0, 3] := 'User-Agent';