delphi中如何在不同的unit中调用一个函数
delphi吧
全部回复
仅看楼主
level 2
wuxinyidui123 楼主
比如unit1中有一个函数
procedure Button4Click(Sender: TObject);
我想在unit2中调用。
我在unit2中已经设定如下,
implementation
uses Unit1;
而且我也在unit1的public中加了
procedure Button4Click(Sender: TObject);
但是还是调用失败。求大神相助
2014年02月19日 13点02分 1
level 2
wuxinyidui123 楼主
大神快来。。。。。。。。。
2014年02月19日 13点02分 2
level 13
听你说的方法就不对,即便能勉强调用了,但是已经失去事件的意义了。
你帖出原码吧,帮你看看!
2014年02月20日 01点02分 3
大神麻烦看看
2014年02月20日 01点02分
你窗口消息处理在Unit1,其实应该uses Unit2吧。要么省事点就交叉引用,灰常方便,有没有坏处就不知道了[不高兴]
2014年02月20日 02点02分
level 2
wuxinyidui123 楼主
procedure TForm1.Button4Click(Sender: TObject);
begin
省略
end;
就是这个函数在unit1里我想在unit2函数里调用如何设置
2014年02月20日 01点02分 4
你这个写在Public里就不对啊,Sender代表啥?
2014年02月20日 01点02分
如果你能把这个Sender参数调顺了,可以在unit2里这么调用: form1.Button4Click(Sender);
2014年02月20日 01点02分
其实我感觉你要做的是,通过界面设置,做好了按钮Button4的事件,然后没必要把这个事件改成什么Public,你可以这么调用:form1.Button4.onclick;就OK了。
2014年02月20日 01点02分
回复 yzf911 : Form1.Button4.onclick;这么调用不对,提示not enough actual parameters
2014年02月20日 02点02分
level 1
在Unit2中usesUnit1 在Unit2中引用Form1.Button4Click;你之所以在unit2中直接使用button4Click不成功是因为这个函数是TForm1类的私有函数没法显示调用 你只能通过TForm1类型来使用 所以
正确的
使用方式是Form1.Button4Click,Form1是Unit单元中窗体类的实现 注意看unit1代码的开头公共变量里面 var Form1:TForm1 如果你这个函数不是Form1的私有函数 而是Unit1单元本身的函数 你是可以直接在Unit2中直接使用Button4Click函数的 其实你在窗口上放控件 然后在控件的事件里面写代码 本身就是对TForm(窗体类) 的重载覆盖 实质上你所有的控件事件都是属于对基于TForm类的子类TForm1的扩展实现 所有Button4Click不但是Unit1中打函数 更是TForm1这个类的函数 所以对类函数的使用 该是什么格式 你在Unit2中就应该遵守
2014年02月20日 07点02分 7
受教了
2014年02月20日 11点02分
level 11
一本杂志好看不好看,取决于你在不在马桶上。
2014年02月20日 07点02分 8
1