请问怎样在初始化时设置方法?
时间:2011-11-17
来源:互联网
Form2
procedure TForm2.test2();
begin
ShowMessage('test2');
end;
Form1调用Form2
procedure TForm1.test1();
begin
ShowMessage('test1');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
vForm:TForm2;
begin
vForm:= TForm2.Create(self);
vForm.test2:=test1; 这边要怎么写呢?
vForm.ShowModal;
end;
初始化时,想替换Form2的test2为Form1的test1方法
procedure TForm2.test2();
begin
ShowMessage('test2');
end;
Form1调用Form2
procedure TForm1.test1();
begin
ShowMessage('test1');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
vForm:TForm2;
begin
vForm:= TForm2.Create(self);
vForm.test2:=test1; 这边要怎么写呢?
vForm.ShowModal;
end;
初始化时,想替换Form2的test2为Form1的test1方法
作者: life923 发布时间: 2011-11-17
form2 uses form1 在需要用test1的地方 form1.test1
作者: garnel 发布时间: 2011-11-18
方法很多除了1L另外
delphi里是可以使用函数指针的
http://wenku.baidu.com/view/c713d1cca1c7aa00b52acb75.html
delphi里是可以使用函数指针的
http://wenku.baidu.com/view/c713d1cca1c7aa00b52acb75.html
作者: funxu 发布时间: 2011-11-18
引用 1 楼 garnel 的回复:
form2 uses form1 在需要用test1的地方 form1.test1
form2 uses form1 在需要用test1的地方 form1.test1
不是 我是想在 form1控制 form2不动
作者: life923 发布时间: 2011-11-18
这么做:先定义一个类型
TTestCall = procedure of object;
然后在Form2里面声明一个公共变量
FTest2: TTestCall;
你在Test2里面直接调用FTest2;
在form1里面让
vForm.Ftest2 := test1;
就可以了。
TTestCall = procedure of object;
然后在Form2里面声明一个公共变量
FTest2: TTestCall;
你在Test2里面直接调用FTest2;
在form1里面让
vForm.Ftest2 := test1;
就可以了。
作者: AnSunny 发布时间: 2011-11-18
使用继承;
Form1继承TForm2,可以直接使用基类方法,也可以重写
Form1继承TForm2,可以直接使用基类方法,也可以重写
作者: kaikai_kk 发布时间: 2011-11-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28