procedure TForm1.Button1Click(Sender: TObject);
var
t:TMyarray;
xx1,xx2,yy1,yy2,zz1,zz2,Ta,Tb:double ;
begin
 xx1:=(-1)*0.4;
 yy1:=1;
 zz1:=0.6;
 Ta:=6;
 Tb:=2;
 xx2:=0.7;
 yy2:=1.1;
 zz2:=sqrt(2*ta*tb-2*Ta*xx2-yy2*yy2);
 t:=function FS(xx1,yy1,zz1,xx2,yy2,zz2,Ta,Tb:double);
end;
其中函数FS是FS.dll中的函数。返回值是一个数组,t:=function FS(xx1,yy1,zz1,xx2,yy2,zz2,Ta,Tb:double);有问题,该如何实现?

解决方案 »

  1.   

    可以把返回值设为Tstringlist类型
    function  FS: TStringList;
    var
      ss : TStringList;
    begin
      ss := TStringList.Create;
      ss.Add('aaaaa');
      ss.Add('bbbbb');
      result := ss;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      t : TStringList;
    begin
      t := test;
      listbox1.Items := t;
      t.Free;
    end;end.
      

  2.   

    type 
      TMyArray=array of D A T A T Y P E;function FS(xx1,yy1,zz1,xx2,yy2,zz2,Ta,Tb:double):TMyArray;
    begin
      SetLength(Result,L E N G T H);
      Result[0]:=...;
      ...
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    t:TMyarray;
    xx1,xx2,yy1,yy2,zz1,zz2,Ta,Tb:double ;
    begin
     xx1:=(-1)*0.4;
     yy1:=1;
     zz1:=0.6;
     Ta:=6;
     Tb:=2;
     xx2:=0.7;
     yy2:=1.1;
     zz2:=sqrt(2*ta*tb-2*Ta*xx2-yy2*yy2);
     t:=FS(xx1,yy1,zz1,xx2,yy2,zz2,Ta,Tb:double);
    end;
      

  4.   

    t:=FS(xx1,yy1,zz1,xx2,yy2,zz2,Ta,Tb);
      

  5.   

    hiflower(花) 
    你试过了吗?
    我感觉跟我的没什么两样啊,不知道行不行!
      

  6.   

    没什么两样?
    那么你在  DLL 中的函数声明是不是和我一样呢?