function GetDevName(var pDevName: array of PChar): Boolean; stdcall;
var
  I: Word;begin
  pDevName[0] := 'safd';
  pDevName[0] := 'rte';
  pDevName[0] := 'sfgsaf';
  ...
  Result := True;
end;
请问我这样写行吗?

解决方案 »

  1.   

    可以,不过函数里写错了
    在 PDevName[0] 之前应该 SetLength(PDevName, 1);
      

  2.   

    郁闷,dll中返回动态数组就有点...调用方只能是delphi应该也没问题吧
      

  3.   

    不好意思,我的代码也错了!
    begin 
        pDevName[0]   :=   'safd'; 
        pDevName[1]   :=   'rte'; 
        pDevName[2]   :=   'sfgsaf'; 
        ... 
        Result   :=   True; 
    end; 可以,不过函数里写错了 
    在   PDevName[0]   之前应该   SetLength(PDevName,   1);
    如果我的数组大小不确定呢?
      

  4.   

    组包type
       TDataPackage=record
          packageid:integer;
          buffer:array [0..255] of char;
       end;
      bufferlist:array of tdatapackage;
      

  5.   

    Delphi应该也有问题,什么问题?