可能对大家来说,都不愿启口这样的问题,
  但我确实有点摸不找头脑。请看下面,很短的源码。
  谢先了!unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure ss(tt:TControl;sender:tobject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
  for i:=0 to ControlCount-1 do
    if (sender is Tbutton) then
    //问题就出在这儿,怎样解决呢
    (sender as TButton).OnClick:=Ss(edit1,sender);   
end;procedure TForm1.ss(tt: TControl;sender:tobject);
begin
      tt.Width:=tt.Width+10;
end;end.

解决方案 »

  1.   

    难道堂堂的CSDN会急死一个菜鸟。
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    var i:integer;
    begin
      for i:=0 to ControlCount-1 do
        if (sender is Tbutton) then
        //问题就出在这儿,怎样解决呢
        Ss(edit1,sender);   
    end;
    这样就对了
      

  3.   

    (sender as TButton).OnClick:=Ss(edit1,sender);   
    改成:
    (sender as TButton).OnClick:=Ss;
    但是ss的参数必须只有一个,并且是tobject类型的!tbutton.onclick是个tnotifyevent类型的指针,不能随便副职!除非Ss(edit1,sender);   返回值是tnotifyevent!
      

  4.   

    这样更好:
    procedure TForm1.FormCreate(Sender: TObject);
    var i:integer;
    begin
      for i:=0 to ControlCount-1 do
        if (sender is Tbutton) then
        //ÎÊÌâ¾Í³öÔÚÕâ¶ù£¬ÔõÑù½â¾öÄØ
        (sender as TButton).OnClick:=button1.OnClick;
    end;procedure TForm1.ss(tt: TControl;sender:tobject);
    begin
          tt.Width:=tt.Width+10;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
       Ss(edit1,sender) ;
    end;
      

  5.   

    你是想写什么呀?一般是这样的:procedure TForm1.MyButton1Click(Sender: TObject);
    begin
      Edit1.Width:=Edit1.Width+10;
    end;procedure TForm1.FormCreate(Sender: TObject);
    var i:integer;
    begin
      for i:=0 to componentcount-1 do
        if (components[i] is Tbutton) then
        //问题就出在这儿,怎样解决呢
        (components[i] as TButton).OnClick:=MyButton1Click;end;TnotityEvent的参数要相同
      

  6.   

    agree with li3365(步惊云)