Hallo,
nachdem ich "COM/DCOM für Delphi" sowie das Delphi 5-Handbuch und noch weitere Literatur durchgeackert habe, ist COM keim Problem mehr. Naja, fast: wie kann ich Objekte (eigentlich Interfaces) hintereinanderklemmen? Also kein Aggregate, so daß ich von einem Interface aus direkt mehrere Methoden/Eigenschaften erreiche, sondern etwas wie in den Office-Anwendungen bzw. diesem Beispiel:
TPerson ist eine Klasse mit der Eigenschaft Name: string
TAbteilung ist eine Klasse mit zwei Eigenschaften: Name: string und Leiter: TPerson
TKunde ist eine Klasse mit zwei Eigenschaften: Name: string und EDVAbteilung: TAbteilung
Wie gesagt, nicht sehr sinnvoll und nur ein Beispiel.
Nun gut, unter Delphi kann ich, wenn alle Objekte erzeugt wurden, per Kunde.EDVAbteilung.Leiter.Name direkt auf den Namen des EDV-Leiters zugreifen. Genau das Verhalten will ich per COM exportieren. Ich kann zwar im Interface IKunde eine Eigenschaft IAbteilung definieren und dann auch darauf zugreifen. Aber auf die Eigenschaft Name der Abteilung komme ich nicht, Delphi liefert nur "undefinierter Bezeichner". Wo liegt mein Denkfehler?
nachdem ich "COM/DCOM für Delphi" sowie das Delphi 5-Handbuch und noch weitere Literatur durchgeackert habe, ist COM keim Problem mehr. Naja, fast: wie kann ich Objekte (eigentlich Interfaces) hintereinanderklemmen? Also kein Aggregate, so daß ich von einem Interface aus direkt mehrere Methoden/Eigenschaften erreiche, sondern etwas wie in den Office-Anwendungen bzw. diesem Beispiel:
TPerson ist eine Klasse mit der Eigenschaft Name: string
TAbteilung ist eine Klasse mit zwei Eigenschaften: Name: string und Leiter: TPerson
TKunde ist eine Klasse mit zwei Eigenschaften: Name: string und EDVAbteilung: TAbteilung
Wie gesagt, nicht sehr sinnvoll und nur ein Beispiel.
Nun gut, unter Delphi kann ich, wenn alle Objekte erzeugt wurden, per Kunde.EDVAbteilung.Leiter.Name direkt auf den Namen des EDV-Leiters zugreifen. Genau das Verhalten will ich per COM exportieren. Ich kann zwar im Interface IKunde eine Eigenschaft IAbteilung definieren und dann auch darauf zugreifen. Aber auf die Eigenschaft Name der Abteilung komme ich nicht, Delphi liefert nur "undefinierter Bezeichner". Wo liegt mein Denkfehler?
Comment