在动态创建一个控件时,怎么把此控件的一个事件指定为一个想要执行的函数???(比如TClientSocket控件的OnRead事件)万分感谢!!

解决方案 »

  1.   

    看看我发出的贴子,应该可以解决你的问题
    http://expert.csdn.net/Expert/topic/2411/2411140.xml?temp=.9447138
      

  2.   

    给你个简单的例子.
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ScktComp, StdCtrls;type
      TForm1 = class(TForm)
        ClientSocket1: TClientSocket;
        Button1: TButton;
        procedure testonread(Sender: TObject;Socket: TCustomWinSocket);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.testonread(Sender: TObject; Socket: TCustomWinSocket);
    begin
    // 事件处理过程
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
       clientsocket1.OnRead:= testonread;
    end;end.
      

  3.   

    procedure btnonClick(Sender: TObject)
    begin
    //some code;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var btn : Tbutton;
    begin
      btn:=Tbutton.create(self);
      btn.parent := form1;
      btn.onclick :=btnonClick;
    end;