E2584 weak 属性は型がクラスまたはインターフェイスであるフィールドおよび変数にしか使用できません: '%s'(Delphi)
エラーと警告のメッセージ(Delphi) への移動
配列など、クラスとインターフェイス以外の任意の型で弱い参照が使用されると、常にこのエラーが発生します。
TMyComponent = class
private
[Weak] GiveMe: array of Integer; // error, an array cannot be weak.
end;
これを修正するには、以下のように、代わりにクラスで弱い参照を使用します。
TMyComponent = class
private
[Weak] TS: TStringList; // it’s ok, a class can be weak
end;