1 直接对自动弱引用的成员变量进行赋值
2 对property write指定的成员变量赋值
即,若property A write B中,B是弱引用或者B(v)方法中存在对弱引用的成员变量进行赋值,则在对A进行写入时(A:=obj),B此时产生的引用也是弱引用。
3 将成员变量作为参数送入TSL开发的函数,在函数内对参数赋值
即,在类的方法中将成员变量作为参数送入到被调用的函数中,在函数内对参数赋值
4 对数组成员变量进行下标设置ArrayData[下标]:=Obj
即,成员变量ArrayData是弱引用,且ArrayData是一个数组,在对这个数组的指定元素进行赋值操作时,也是弱引用。
应用场景说明:
1 目前C++等开发而成的二进制函数和方法不支持自动弱引用规则,需要支持的函数要用新的接口进行改写。
2 弱引用规则主要为了实现TSL语言层的对象循环引用。
3 二进制函数基本不存在和TSL语言对象之间的循环引用问题。
4 如果存在其他情况需要用户使用MakeWeakRef来实现。