Einzelnen Beitrag anzeigen

RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#6

AW: Datentyp für anonyme Methoden wie TMethod für Methoden

  Alt 9. Aug 2012, 08:53
Ich habe nun einen weiteren Test gemacht, der bestätigt, dass die Referenzzählung mit dieser Methode (cast auf reference to procedure) nicht durcheinandergebracht wird, zumindest wird die Referenz nicht frühzeitig freigegeben.

Allerdings habe ich für meinen Anwendungsfall (Multicast-Events) ein anderes Problem, an dem die Sache scheitert: Referenzen lassen sich nicht vergleichen wie Methodenzeiger, da es Closures sind (sie beinhalten die benutzten Variablen aus dem Scope und zu der Zeit, wo und als die Referenz erstellt wurde). Damit kann ich sie nicht mehr aus der Menge der Event-Handler entfernen, da ich sie nicht wiederfinde. Ich könnte höchstens bei der Registrierung für den Event einen Index zurückgeben, aber das ist insgesamt aufwendiger als Methoden als Handler zu verwenden...
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat