Tja, man lernt jeden Tag was neues. Das Verhalten beim
Delegieren an ein Objekt war mir neu, aber sehr interessantes und u.U. nützliches Verhalten.
@Günther
In deinem Beispiel im Eingangspost hast du übrigens ein Speicherleck (bzw verfrühte Freigabe einer Instanz).
Der Supports Aufruf auf container führt dazu, dass danach deine container Instanz freigegeben wird. Auch hier sollte container schon ein Interface sein, damit da nix schief geht.
Keine Ahnung, was der XE5 Debugger anzeigt, aber bei mir (XE) zeigt er im Fall, dass die Eigenschaft TMessage zurückgibt nur Pointer(...) as IMessageInterface an. Ein (messageIntf as TObject).ClassName liefert mir dann TMessager.
Ich kann also die Aussage
Zitat:
Nach dem Aufruf von Supports(..) haben wir in unserer Interface-Variable eine Referenz auf die TContainerClass -Instanz!
nicht nachvollziehen.