ジェネリック TList の OnNotify イベントを使用したいと考えています。プロシージャを OnNotify に割り当てると、次のエラー メッセージが表示されます。
E2010 Incompatible types: 'System.Generics.Collections.TCollectionNotification' and 'System.Classes.TCollectionNotification'
クラスを宣言していますが、その中でジェネリック TList が次のように使用されます。
TEditor_Table = class (TObject)
public
FEditors: TList<TGradient_Editor>; // List containing the editors
これは最もきちんとした方法ではありませんが、テストにはこれが必要です。リストはコンストラクターでインスタンス化されます。
constructor TEditor_Table.Create (Owner: TFMXObject);
begin
inherited Create;
FEditors := TList<TGradient_Editor>.Create;
FOwner := Owner;
end; // Create //
次にメインフォームで関数が宣言されます
procedure do_editor_change (Sender: TObject; const Item: TGradient_Editor; Action: TCollectionNotification);
TColor_Editor クラスは次のようにインスタンス化されます。
FColor_Editor := TEditor_Table.Create (List_Gradients);
FColor_Editor.FEditors.OnNotify := do_editor_change;
^
error occurs here----------------------------------+
メッセージがまったく理解できず、コンパイラが「System.Generics.Collections.TCollectionNotification」と「System.Classes.TCollectionNotification」の 2 つのユニットを混同しているように見える理由がわかりません。私は何を間違っていますか?