Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
30. Jan 2014
Ja, dass man das so nicht macht war mir klar, wollte es für ein Beispiel aber nicht noch weiter aufblähen ;-)
Dass er dann im Debugger "Pointer" anzeigt ist mir unter XE5 auch aufgefallen, hielt es aber nicht weiter für wichtig.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
29. Jan 2014
Fantastisch! *händereib*
Spontan und nach kurzem Durchtesten würde ich sagen, das ist exakt, was ich wollte! :thumb: :cheers:
Ich würde weiterhin noch sagen, die Method Resolution Clause ist nicht nötig, gesetzt man hat keine Namenskonflikte und kann die Methode "DelegateSomeProc" im Proxy gleich "someProc" nennen.
Letztendlich könnte man sich jetzt noch Gedanken machen, was das...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
29. Jan 2014
Ja, "Messenger" nicht "Messager". Ich bin wohl schon zu lange wach. :drunken:
(Meinen letzten Beitrag habe ich in der Zwischenzeit aktualisiert)
Ja, weitergeleitet wird das Interface immer. Der Punkt ist dass ich in einem Fall direkt die Referenz auf den Delegaten bekomme. Das äußere Objekt könnte ich in der Zwischenzeit sogar freigeben. Das kann sogar gewollt sein.
Im anderen Fall zeigt...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
29. Jan 2014
Nein, was mich wundert ist die Tatsache dass ich entweder eine Referenz auf den Delegaten oder eine Referenz auf die "äußere" Klasse (TContainerClass) bekomme. Was ich nun bekommen werde kann ich nicht sehen. Denn das hängt davon ab, ob die "gefragte" Instanz (TContainerClass) nun intern an eine Klasse oder ein Interface delegiert.
Ich gehe der Idee mit einem "Zwischen-Delegat" mal weiter. Ich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
29. Jan 2014
Vielen Dank für eure Zeit!
TAggregated/TContainedObject habe ich verstanden, denke ich. Die habe ich schließlich auch erst durch dich kennen gelernt :wink:
Aber die versprochene Lösung bringt es nicht: Die Aussage "Interface wird unterstützt ja/nein" wird zwar hier vom Parent abhängig gemacht, aber die resultierende Interface-Referenz zeigt auch hier wieder auf das aggregierte Objekt, nicht...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
29. Jan 2014
Poetischer Titel. Und vielleicht passt es doch besser speziell nach Object-Pascal / Delphi-Language. Ich bin nicht sicher.
Mir ist heute etwas sehr interessantes aufgefallen: Nehmen wir folgenden Codeschnipsel:
IMessageInterface = interface
procedure ShowMessage();
end;
TMessager = class(TInterfacedObject, IMessageInterface)