想使用自己的menuitem.onclick函数
但是除了tobject之外还想传一个字符串。
请问如何改onclick我是动态creat了一个menuitem.
想menuitem.onclick:=myonclick,不行啊。
说calling convertion differs
但是除了tobject之外还想传一个字符串。
请问如何改onclick我是动态creat了一个menuitem.
想menuitem.onclick:=myonclick,不行啊。
说calling convertion differs
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
sad1: TMenuItem;
asdsad1: TMenuItem;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure MyClick(Sender:TObject);
private
MyItem:TMenuItem;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
MyItem:=TMenuItem.Create(self);
sad1.Insert(0,MyItem);
MyItem.Caption:='动态创建';
MyItem.OnClick:=MyClick;
end;procedure TForm1.MyClick(Sender: TObject);
begin
ShowMessage('动态创建');
end;end.
procedure TForm1.item1Click(Sender: TObject);
begin
onclick(sender,str);
end;
这两个东西的类型都不同当然不能这么写。
一个是tnotifytion一个是procedure类型