Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Danke, der Gedankengang hatte mir gefehlt.
Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Das ist ein Spezialfall. Der Vorfahre alleine repräsentiert nur zwei alleinstehende, öffentliche Methoden (Setter und Getter, ohne zugehörige Property). Sobald Du über den Nachfahren gehst, erkennt Delphi, dass die Getter und Setter zu der Property gehören. In meinem Beispiel hättest Du auf dem Nachfahren auch den Zugriff auf die Methoden des Vorfahren (also wie auch bei normalen Methoden, ohne...
Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Da kann ich natürlich nicht widersprechen, schön gesagt :)
Dennoch bin ich da auch auf Mikkey's Seite.
-> Das sehe ich genau so.
Man verwendet die Ableitung (also die Abhängigkeit) von Interfaces ja aus einem trifftigen Grund .. und der ist für mich: jemand der das Subinterface implementiert, muss auch das Superinterface bereitstellen (implementieren).
Beispiel:
Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Genau darauf will ich ja hinaus: Gibt es diesen Fall? Ich hätte gesagt nein, da ich über das IExtendedInterface auch das IBaseInterface implementiere.
Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Ok, also ist dieses Verhalten der TGUID Verwendung "geschuldet". Dennoch hätte ich erwartet, dass Embacadero es schafft einfach die GUIDs aller Super-Interfaces mit einzutragen ... andererseits ... :>
Forum: Object-Pascal / Delphi-Language
Delphi
by alda,
3. Jun 2014
Ja da ist Delphi etwas eigen, aber der Grund für dieses Verhalten würde mich auch interessieren.
Alle Interfaces die eine Klasse unterstützen soll (für das Casten zur Laufzeit), müssen explizit von dieser Klasse implementiert werden, bei voneinander abgeleiteten Interfaces auch die Super-Interfaces wie Du gemerkt hast. Ausnahme wäre, dass eine Superklasse diese bereits implementiert, dann...