Danke für die schnelle Antwort. Also die Idee mit dem Flag hatte ich auch schon, und hab ich auch schonmal so umgesetzt.
Delphi-Quellcode:
if fNotifyList.RunningEventCalls=0 then
fNotifyList.Free
else
fNotifyList.WantDestroy:=true;
In der Schleife würde dann geprüft, ob die NotifyList zerstört werden soll. Was mich an dieser Lösung etwas stört - eine entsprechende Abfrage wäre dann in fast jedem Destructor nötig, und das sind bei X-Force nicht wenige. Deshalb wollte ich das halt irgendwie zu TNotifyList verlagern (zur Not vielleicht dann doch lieber mit TryFree). Wenn das mit dem Veto im Destructor nicht ganz trivial ist, heißt das ja wenigstens, das meine Frage nicht ganz so dumm ist, wie ich erst gedacht hab.