首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教怎样在初始化时设置方法

2012-02-04 
请问怎样在初始化时设置方法?Form2procedure TForm2.test2()beginShowMessage(test2)endForm1调用For

请问怎样在初始化时设置方法?
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方法





[解决办法]
form2 uses form1 在需要用test1的地方 form1.test1
[解决办法]
方法很多除了1L另外
delphi里是可以使用函数指针的
http://wenku.baidu.com/view/c713d1cca1c7aa00b52acb75.html
[解决办法]
这么做:先定义一个类型
TTestCall = procedure of object;
然后在Form2里面声明一个公共变量
FTest2: TTestCall;

你在Test2里面直接调用FTest2;

在form1里面让
vForm.Ftest2 := test1;
就可以了。
[解决办法]
使用继承;
Form1继承TForm2,可以直接使用基类方法,也可以重写

热点排行