可通过设置关键字WeakRef启动弱引用,使其下面定义的变量自动设置为弱引用,AutoRef为关闭弱引用,即恢复默认的强引用。
同时定义多个弱引用变量,实现代码如下:
Type AutoWeakTest=class
FA;
WeakRef //定义下方的成员变量为弱引用
FOnClick;
FOnDBLClick;
FOnMouseMove;
FOnMouseOver;
AutoRef //解除弱引用的定义,即下方成员变量为默认的强引用
FB;
FC;
End;
解读:其中,
FA是初始模式,所以未自动弱引用。
WeakRef 打开AutoWeakTest类的成员变量自动弱引用开关。
FOnClick,FOnDBLClick,FOnMouseMove,FOnMouseOver; 为自动弱引用
AutoRef关闭AutoWeakTest类的成员变量自动弱引用开关,
FB,FC为非自动弱引用。
这种方式类似Public,Private,Protected,但WeakRef,AutoRef是约定是否自动弱引用,且仅对成员变量起效。可视域和自动弱引用的约定互相不干扰。