在一个form下的代码:
unit unit1;
interface
uses .....
type
TForm1 = class(TForm)
  Button1:TButton;
  Timer1:TTimer;
  procedure Button1Click(sender :TObject);
  procedure Timer1Timer(sender:TObject);
 private:
   {..}
 public :
   {..}
end;
var 
  Form1:TForm1;
  ..
  ..
implementation
{$R*.dfm}
....
...
end.
请问各位:Button1(:TButton)和  Timer1(:TTimer)是类TForm1的成员变量吗??是public 还是private的??
procedure Button1Click(sender :TObject)中的参数sender 是传值还是传地址(传引用  or 传指针)??
本人比较菜,刚学delphi时就一直在想这个问题而未得其解,还请各位高手支持!!!!

解决方案 »

  1.   

    //不知道说的对不!
    button1和timer1为窗体上的控件sender,参数实质上就是button自己,控件是通过sender来知道传入的是什么控件。
      

  2.   

    请问各位:Button1(:TButton)和  Timer1(:TTimer)是类TForm1的成员变量吗??是public 还是private的??
    **是:Published可视化的属性。
    procedure Button1Click(sender :TObject)中的参数sender 是传值还是传地址(传引用  or 传指针)??
    **传值的,但实际上是传的指针,可以通过SENDER修改他的属性的。
      

  3.   

    TButton,TTimer和TForm是一样的 都是类 只是在TForm用到了前面两个类的变量 所以的引用那两个类
    sender 就是当前的对象吧 这个我也不太清楚的 但是实际开发的时候很少这么用到sender的
      

  4.   

    1:是类的成员
    2:Sender是传址...就是类的指针.
      

  5.   

    是成员变量,而且是public的是传值,不是传地址
      

  6.   

    第二个问题我想补充一下:方法或例程的参数无非就四中类型,值参数,变量参数,常量参数和out类型参数!如果单纯从计算机角度来看这四种参数,实际上传递的都是一个地址值,这些地址值具体保存在那里和调用时的约定直接相关。当主调方法(或例程)调用被调方法(或例程)的时候,对于不同的参数,在被调方法(或例程)中相应的操作对主调方法(或例程)中对应的数据影响也会不同,如下:
    值参----实际是对值地址进行复制后传入,所以主调和被调之间使用的是两套数据,因此被调的操作不会影响主调中的数据;
    变参----直接将地址传入,所以被调的操作将直接影响主调中的数据,因为他们使用的是一个数据;
    常参----使用的也是同一数据,并且被调不可对数据进行修改。这里其实也是传地址;
    out参----和变参一样,只不过将忽略进口值,只作为一个被调数据的输出接口来使用!
      

  7.   

    是成员变量,而且是public的是传值,不是传地址
      

  8.   

    多谢各位答复,
    我想再问一下,procedure 中的参数sender究竟有什么用??
    它传的是谁的值呢??
      

  9.   

    sender 是TObject 类型的,主要用处就是:
    在你调用这个过程的时候,sender的值就是你调用过程时的类的对象。
    和函数、过程的参数的作用是一样的。
      

  10.   

    Sender主要用来根据触发当前事件的控件的不同执行不同的代码
      

  11.   

    1.是form1类的成员2.sender是一个参数,它是tobject(delphi中最基本的类)的一个类  在这里实际上传递的就是Button1以上答案是出自<<kylix开发人员指南>>,应该不错!
      

  12.   

    正如楼上兄弟所说,Sender 属于Tobject类型,
    主要是用于在你触发事件的时候执行不同的代码。
      

  13.   

    Sender谁调用就传谁,button1调传button1,button2调传button2
      

  14.   

    用户用鼠标向 Button 发出单击事件。 Button  会像窗口发出通知 , 
    窗口接受到通知后会处理。在处理时窗口要知道是谁发出这个通知。(窗口中可以接受很多控件的通知)
    sender 参数这果可以指明是Button发出的。
      

  15.   

    1.是form1类的成员 都是public
    2:是传的指针
      

  16.   

    借宝地问问。to herofy(雄鸡破晓) ( ) 
    Sender谁调用就传谁,button1调传button1,button2调传button2那么Sender是不是和C++里的this很象了。刚从VC转到Dephi,不懂的问。