偶比较笨啦,写一个函数想返回多个参数,但是怎么都不可以.
function test(str1:string;var str2,str3:string):string;
begin
  result:=str1;
  str2:=str1+'test1';
  str3:=str1+'test2';
end;
偶在调用后,想得到str3的值.就是得不到.但是str2就可以得到.

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var   str2,str3:string;
    function test(str1:string;var str2,str3:string):string;
    begin
      result:=str1;
      str2:=str1+'test1';
      str3:=str1+'test2';
    end;
    begin
       str2:='wewe';
       Str3:='erer';
       test(Str2,str2,str3);
       showmessage(Str3);
    end;
    我看好着呢,我用delphi7.0编译测试
      

  2.   

    1FCSOFT(程序员)如果把test(Str2,str2,str3);改为
    Str3:=test(Str2,str2,str3); 结果还是'wewe'
    函数test并没有返回两个值.
      

  3.   

    具体讨论看这个帖子:
    http://expert.csdn.net/Expert/topic/2402/2402267.xml?temp=.9883386
      

  4.   

    function test(str1:string;var str2:integer;str3:string):string;
    begin
      result:=str1;
      str2:=1;
      str3:=str1+'test2';
    end;第一个输出参数为:integer类型的.
    如果都是string的就可以输出.这样怎么就不可以呢?