我自定义一函数,在另一段代码中想调用这个函数并传给他一个参数,该如何实现?
例如:
procedure tformmain.open(sender:tobject);//自定义函数。
var
title:string;
begin
showmessage(title);
end;procedure TFormmain.Button1Click(Sender: TObject);
var
MyLabel:TLabel;
title:string;
begin
MyLabel:=TLabel.Create(self);
MyLabel.Parent:=ScrollBox1;
MyLabel.Cursor:=crHandPoint;
mylabel.OnClick:=formmain.open; //响应事件,我想从这里传递一个参数title给自定义的函数open。
end;
例如:
procedure tformmain.open(sender:tobject);//自定义函数。
var
title:string;
begin
showmessage(title);
end;procedure TFormmain.Button1Click(Sender: TObject);
var
MyLabel:TLabel;
title:string;
begin
MyLabel:=TLabel.Create(self);
MyLabel.Parent:=ScrollBox1;
MyLabel.Cursor:=crHandPoint;
mylabel.OnClick:=formmain.open; //响应事件,我想从这里传递一个参数title给自定义的函数open。
end;
改为使用全局变量了
或者是TFormmain中的任一个成员
eg:TFormmain.mystr
procedure tformmain.open(title: string);//自定义函数。
begin
showmessage(title);
end;procedure TFormmain.Button1Click(Sender: TObject);
var
MyLabel:TLabel;
title:string;
begin
MyLabel:=TLabel.Create(self);
MyLabel.Parent:=ScrollBox1;
MyLabel.Cursor:=crHandPoint;
title := 'yourname';//你要传递的值
mylabel.OnClick:=formmain.open(title); //响应事件,我想从这里传递一个参数title给自定义的函数open。
end;
begin
showmessage(title);
end;
procedure TFormmain.Button1Click(Sender: TObject);
var
MyLabel:TLabel;
title:string;
begin
MyLabel:=TLabel.Create(self);
MyLabel.Parent:=ScrollBox1;
MyLabel.Cursor:=crHandPoint;
title := 'yourname';//你要传递的值
mylabel.OnClick:=formmain.open(title);
To: ly_liuyang(Liu Yang) ,因为我做的是一个循环赋值,所以使用全局变量会丢失数据,请问还有其它解决方法么?