写COM程序实现了一个接口,其中有个接口函数传入var List: PSafeArray参数,需要我往这个数组里写入一些字符串,但是昨天搞了一天,不是写不进去就是变成乱码,求高手指导,附源码:procedure TSmartdoc.PopulateListOrComboContent(ControlID: SYSINT;
  const ApplicationName: WideString; LocaleID: SYSINT; const Text,
  Xml: WideString; const Target: IDispatch;
  const Props: ISmartDocProperties; var List: PSafeArray; var Count,
  InitialSelected: SYSINT);
var
  plist: psafearray;
  rgsabound: array [0..0] of SAFEARRAYBOUND;
  i: Integer;
  name: OleVariant;
  temp: HRESULT;
begin
  count := 2;
  InitialSelected := -1;
  rgsabound[0].lLbound := 1;
  rgsabound[0].cElements := 2;
  plist := SafeArrayCreate(VT_VARIANT, 1, rgsabound);
  i := 1;
  name := 'test';
  temp := SafeArrayPutElement(plist, i, name);
  if (temp = S_OK) then
  begin
    ShowMessage('S_OK');
  end
  SafeArrayCopy(plist, list);
end;