Einzelnen Beitrag anzeigen

Leanahtan

Registriert seit: 5. Jun 2009
62 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Aufruf von TObject.Free verzögern?

  Alt 17. Dez 2009, 20:14
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.
  Mit Zitat antworten Zitat