这段代码中,加不加var,效果是一样的。

解决方案 »

  1.   

    object 加 var ?
    关注 
      

  2.   

    UP
    一般要从过程中返回已经在过程里处理过的参数时。才需VAR
    比如一个过程 :
    procedure aa(x,y:integer;var su:integer);
    begin
         su:=x+y;
    end;
    调用该过程时 :
    var
       IntSum:Integer;
    begin
        IntSum:=0;
        aa(10,20,IntSum);
        ShowMessage(IntToStr(IntSum));//此时 IntSum 的值为30
    end;
      

  3.   

    这个类似于c语言中的int Inc(int &i) 
    {
      i++;
    }的&用法,
    它传递的是指针,它在函数内部影响参数的结果。
      

  4.   

    不需要加var,因为只有要把传进函数中的变量值得回来得时候才需要加var,而你现在传递得是控件本身,即对象,不需要加var。
      

  5.   

    在procedure setcolor(aedit:TEdit)这个声明中加不加var结果都一样,以为你的参数是一个对象,在Delphi中所谓对象实际指得是“对象引用”,简言之,你可以把他理解为指针,是引用传递。如果你的参数是integer什么的,加不加var完全不一样了。
      

  6.   

    在procedure setcolor(aedit:TEdit)这个声明中加不加var结果都一样,因为你的参数是一个对象,在Delphi中所谓对象实际指得是“对象引用”,简言之,你可以把他理解为指针,是引用传递。如果你的参数是integer什么的,加不加var完全不一样了。
      

  7.   

    如果是一个对象,那加不加var效果都是一样的,因为delphi中的对象和C++不同,只是一个指针。
      

  8.   

    如果加不加一样,这岂不是delphi身上的一块坠肉?呵呵
      

  9.   

    同意DunDao(虽然我很色,但是我能克制。) 。
      

  10.   

    加var 是引用变量,类似指针传值,但操作方式不一样。
    引用是把实参放入函数(包括过程)体内进行操作,从而改变实参。如果是指针
    传值就是让实参与形参共用一段地址单元,从而改变实参.
    不加var是传递参数(可能是指针,如用对象作参数就是传递指针)。