怎样使procedure有返回值,并且可以在另一函数中调用它并取得其返回值?

解决方案 »

  1.   

    procedure本身是过程,不会有返回值。不过你可以使用参数方式,让它能够有1到多个返回参数//定义
    procedure Get(var A:Integer; var B:String);
    begin
       A:=10;
       B:='123456';
    end;//调用
    ..
    var
       A:Integer;
       B:String;
    begin
    ...
       Get(A,B);
    ...
    end;
      

  2.   

    传参数有两种
    1,传值;PROECDURE TEST(S:STRING);
    2,传地址;//这个可以满足你的要求;PROCEDURE TEST(VAR S:STRING);
      

  3.   

    只是返回一个值的话,就简单了return @RValue
    使用@Ret=Exec MyProc 或Exec @Ret=MyProc忘了怎样调用了
    如果要返回多个数据的话,只能用OUTPUT功能了
    Create Procedure MyProc @InP1 int,@OutP1 int output,@OutP2 int output
    .......
    ......
    select @OutP1=...,@OutP2=....调用Exec MyProc @InP,@OP1 output,@Op2 output
      

  4.   

    对第一篇回复(回复人: gong_hui2000(gong_hui2000) )有点不解
    procedure Get(var A:Integer; var B:String);
    用的是传值方式,
    我以前学的是C++,在C++中传值,函数返回后,变量值是不改变的
    只好传指针或引用
    不知在delphi中,是不是这样?