读书人

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

发布时间: 2012-02-04 15:43:09 作者: rapoo

请问怎样在初始化时设置方法?
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,可以直接使用基类方法,也可以重写

读书人网 >.NET

热点推荐