如何将本窗体form1的按钮speedbutton1单击事件speedbutton1click 定义为其他窗体form2的一个按钮speedbutton2的单击事件speedbutton2click?
uses unit2
procedure Tform1.speedbutton1click(sender:object);
begin
     form1.speedbutton1.onclick:=form2.speedbutton2click;
end;以上程序需点击speedbutton1 按钮两次才能运行,如何修改呢?

解决方案 »

  1.   

    因为第一次是对OnClick赋值。可以在Form1的ONCreate中写:procedure TForm1.FormCreate(Sender: TObject);
    begin
      speedbutton1.onclick:=form2.speedbutton2click;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    为什么不这样呢
    procedure Tform1.speedbutton1click(sender:object);
    begin
      form2.speedbutton2click;
    end
      

  3.   

    procedure TForm1.speedbutton1Click(Sender: TObject);
    begin
      form2.speedbutton2click;
    end;
      

  4.   

    楼上说的都对
    不过还有更合理的方法:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      speedbutton1.onclick:=form2.speedbutton2.Onclick;
    end;
    这样,speedbutton2 的onclick 事件处理程序指向别处了也没问题
      

  5.   

    为什么不单独写一个过程?两个onclick来引用这个过程。