I#米调用一个类别的不同形式的一个函数,这个类这两个类之间共享作为第二类的属性访问来自不同类的类/组件程序/作为属性
TMyClass = class
private
public
procedure onconnect (...);
end;
TFormA = class(TForm)
MYCLASS : TMyClass;
procedure StartFormB(...)
end;
TFormA.procedure StartFormB(...)
begin
bForm.MYCLASS := MyClass;
bForm.Show;
end;
TFormB = class(TForm)
private
....
FMYCLASS : TMyClass;
public
......
.....
property MYCLASS : TMyClass read FMYCLASS write FMYCLASS;
end;
假设TMyClass就像是一个Indy TCP服务器,如何调用bForm中的类事件过程onconnect(..)或onexecute(..)函数只需通过属性访问共享类实例?
这是很容易
aForm : TMyForm;
aForm.onconnect(...);
此过程被链接到类事件过程 但 bForm.FMyClass.onconnect(...)
不行,我不能建立ALINK来类事件过程...
'MyClass.XXX'调用一个名为'XXX'的方法。这很明显,它不可能是答案。所以我认为你需要改善这个问题。 – 2013-02-10 21:38:57
另外,请不要调用对象'MyClass'。你必须学习一个类和一个对象之间的区别。一个对象是一个类的实例。在你的代码中,'MYCLASS'和'FMYCLASS'不是类。它们是实例或对象。相应地命名它们。 – 2013-02-10 21:43:05
'OnConnect()'相同。对于事件属性,“On”前缀是_reserved_,将其重命名为Connect()。 – NGLN 2013-02-10 21:45:42