想使用自己的menuitem.onclick函数                    
但是除了tobject之外还想传一个字符串。
请问如何改onclick我是动态creat了一个menuitem.
想menuitem.onclick:=myonclick,不行啊。
说calling convertion differs
                                                 

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus, StdCtrls;type
      TForm1 = class(TForm)
        MainMenu1: TMainMenu;
        asfasf1: TMenuItem;
        asfasffasf1: TMenuItem;
        Button1: TButton;
        procedure MyClick(Sender:TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MyClick(Sender: TObject);
    begin
            ShowMessage('asd');
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
            asfasffasf1.OnClick:=MyClick;
    end;end.
      

  2.   

    修改 karl(多功能算术逻辑运算单元) 
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus, StdCtrls;type
      TForm1 = class(TForm)
        MainMenu1: TMainMenu;
        asfasf1: TMenuItem;
        asfasffasf1: TMenuItem;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
       procedure MyClick(Sender: TObject;str:string);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.MyClick(Sender: TObject;str:string);
    begin
            ShowMessage(str);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
            asfasffasf1.OnClick:=MyClick(sender,'test');
    end;end.