C
cheylin
Unregistered / Unconfirmed
GUEST, unregistred user!
如果是两个Form之间的事件调用,应尽量避免使用Form1.XXX,Form2.XXX,因为在执行此句时,你的另一个Form可能还没创建,实例还不存在,毫无疑问会出错,作为一个成熟的程序员需全面多方位考虑代码的健壮性;建议采用如下策略:
在一个新建的Unit,如,PublicUnit.pas 建立一个处理过程,
unit PublicUnit
...
procedure ProcessButtonDown(****)
begin
......
end;
...
实现你所需要的Button按下的功能;
然后分别在Form1,Form2中引用PublicUnit,并将对应Button.Click指向ProcessButtonDown,如:
Unit unit1
use ...,PublicUnit;
...
procedure TForm1.Button1Click(Sender: TObject)
begin
ProcessButtonDown(Sender,**,**...)
end;
...
同样在Form2中也实现一次,如
Unit unit2
use ...,PublicUnit;
...
procedure TForm2.Button2Click(Sender: TObject)
begin
ProcessButtonDown(Sender,**,**...)
end;
...
在一个新建的Unit,如,PublicUnit.pas 建立一个处理过程,
unit PublicUnit
...
procedure ProcessButtonDown(****)
begin
......
end;
...
实现你所需要的Button按下的功能;
然后分别在Form1,Form2中引用PublicUnit,并将对应Button.Click指向ProcessButtonDown,如:
Unit unit1
use ...,PublicUnit;
...
procedure TForm1.Button1Click(Sender: TObject)
begin
ProcessButtonDown(Sender,**,**...)
end;
...
同样在Form2中也实现一次,如
Unit unit2
use ...,PublicUnit;
...
procedure TForm2.Button2Click(Sender: TObject)
begin
ProcessButtonDown(Sender,**,**...)
end;
...