Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
29. Jan 2014
Bei Verwendung von implements muss das implementierende Objekt entweder das besagte Interface bereitstellen (mittels QueryInterface) oder das Interface implementieren (sprich: die Methoden bereitstellen). Im ersten Fall bekommt man einen Interface-Zeiger auf den Implementer, im anderen auf den Container.
Wenn der Implementer von TAggregatedObject abgeleitet wird ohne das ein Interfacename in...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
29. Jan 2014
Schau dir in der System.pas mal die Klassen TAggregatedObject und TContainedObject an. Die sind exakt für solche Konstrukte gedacht.
Das TAggregatedObject stellt ausdrücklich kein Interface zur Verfügung und gibt alle Aufrufe an QueryInterface und die Referenzzählung an den Controller zurück, während TContainedObject zwar auch die Referenzzählung über den Controller abwickelt, aber bei...