表示对象自已,只用于此对象的方法中;相当于:我,我自已,俺DELPHI 用   self;
VB     用   me;
C++BUILDER用this;
不肯一致
 

解决方案 »

  1.   

    关键字self常用于在当前窗口的对象方法中,显式的引用该窗体。
      

  2.   

    procedure(function) TForm1.... ;
    begin
      //self= TForm1生成的对象(Form1);
    end;如果是其它类如:
    type TMyThread=class(TThread)
    ...
    end;
    那么:
    procedure TMyThread.function1;
    begin
      //self=TMyThread类。
    end;
     
    相当于:哪个类的对象,根据procedure or function中类来看。
      

  3.   

    如果是其它类如:
    type TMyThread=class(TThread)
    ...
    end;
    var MyThread:TMyThread; 那么:
    procedure TMyThread.function1;
    begin
      //self=TMyThread类的对象:MyThread。
    end;
      

  4.   

    type TMyThread=class(TThread)
    ...
    end;
    var MyThread1:TMyThread;
    var MyThread2:TMyThread; 那么:
    function TMyThread.GetSelf : integer
    begin
      result :=integer(@self)
    end; showmessage(inttostr(MyThread1.GetSelf)+':'+inttostr(MyThread1.GetSelf));
    那么為何兩個對像的
    @self 值相同呢而 self值卻不同
    到底Self是指針還是對像?
      

  5.   

    和java中的this一样!指当前实例
      

  6.   

    self是對象   還是    指向對象的指針java中沒有指針,C++ 中的 this 是 指向對象的指針delphi中的self 呢?