Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#11

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 1. Nov 2012, 18:29
Im Beitrag 7, siehst Du im Anhang, wie der Setter von FOnDelete arbeitet. Ebenfalls im gleichen Beitrag hatte ich geschrieben, dass ein Assigned(FOnDelete) immer False ergibt.

Ich habe noch ein bisschen weiter getestet. Wenn ich die TCustomObjectList<T: class> für die Klasse TDegree folgendermaßen erstelle :
Delphi-Quellcode:
  DegreeList := TCustomObjectList<TDegree>.Create;
  DegreeList.OnDelete := TableEntryDelete;
Funktioneren beide Quelltexte aus den Beiträgen 1 und 7 und die Funktion für FOnDelete wird ausgeführt. Lasse ich diese Zeile DegreeList.OnDelete := TableEntryDelete; weg, dann wird FOnDelete nichtmehr ausgeführt oder es wird die Access Violation angezeigt, wenn die Abfrage auf Assigned(FOnDelete) fehlt. Deshalb gehe ich davon aus, das das FOnDelete im Notify auf das FOnDelete in der TCustomObjectList<T: class> zeigt.

Ich stelle mir jetzt nur die Frage, warum FOnChange so funktioniert und FOnDelete nicht ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat