1,先声明一个record,包含所有的返回值,如:
TDemo=record
 a,b,c:integer;
end;
然后
function XXXXXX:TDemo;
2:procedure xxxxx(var a,b,c:integer);

解决方案 »

  1.   

    clacklin(海风) 的办法好些 
    也可以这样: Procedure ProcedureName(a,b,c:integer;var result1:integer;result2:string;result3:double;...);
    在函数中给 result1、result2、result3 赋值返回
      

  2.   

    第一种办法是用过程,参数用变参,就可以完成你的要求。
    第二种办法是用函数,函数的返回值设为数组。示例如下。type arrayreal=array[0..5] of real;function func1(i:integer):arrayreal;
    var m:integer;
    begin
      for m:=0 to i do
      result[i]:=i;
    end;
    引用的时候就用x:=func1(i)[m]这样的格式
      

  3.   

    当然,如果返回值类型不同,就可用variant数组,或者,象上面的老兄说的,用过程。参数用变参就行了(就是在定义和声明过程时,在参数前加VAR,然后就可以在过程中给变参赋值)。