Ich habe den folgenden Code. Ich möchte die Notify-Methode der Basisbasisliste auf diese Weise überschreiben, um ein Ereignis bei der Änderung der Liste erstellen zu können.Wie erben generische virtuelle Methode?
TDescendantList = class(TObjectList<TSomeclass>)
private
<...>
protected
procedure Notify(const Value: T;
Action: TCollectionNotification); override;
<...>
end;
Wenn ich Value: T
setzen erhalte ich eine "nicht deklarierter Bezeichner" auf T.
Wenn Value: TSomeClass
ist bekomme ich die "Erklärung von 'Notify' unterscheidet sich von früheren Erklärung" .
Notify
ist eine geschützte Methode von TObjectList<T: class>
. Diese Methode wird nicht in der übergeordneten Liste der XE2-IDE angezeigt.
Das ist eine Möglichkeit, dies zu implementieren, oder ich muss einen anderen Ansatz verwenden, da dies eine sprichwörtliche Mauer ist?
Perfekt! Ich habe beide Dinge gemacht: reorganisiert die 'uses'-Klausel ** UND ** setze den voll qualifizierten Namen. +1 und akzeptiert –