Autor Beitrag
sunnyandy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: Fr 07.09.07 22:40 
Hallo,

habe eine abgeänderte TObjectList erstellt, damit ich mir die TypeCasts sparen kann.
Das sieht folgendermaßen aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
interface

  uses
    contnrs,
    Kunde,
    InterfaceSaveableList;

  type
    TListeKunden = class(TObjectList, ISaveableList)

  protected
...


Die Klasse soll also von TObjectList erben und das Interface ISaveableList implementieren.
Nun kommt die Meldung, dass ich QueryInterface, _AddRef usw implementieren soll... Wenn man die Methoden nicht implementieren möchte, soll man von TInterfacedObject ableiten, habe ich gelesen.

Ich kann natürlich nicht von zwei Klassen gleichzeitig erben oder?
Wie bekomme ich das nun am besten hin?

Danke im Voraus!
Gruß, Andy
ah
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 21

Win 95/98/2000/XP, Linux
D5 Ent, D2005 Prof, Eclipse
BeitragVerfasst: Di 18.09.07 18:12 
Nun, kommt drauf an.

1. Möglichkeit: eine echte Klasse mit RefCount Support erstellen (= Arbeiten mit Interface Variablen)
=> Methoden wie in TInterfacedObject implementieren

2. Möglichkeit: Klasse ohne RefCount Support erstellen (= Arbeiten mit Klassen Variablen)
=> Methoden wie in TComponent implementieren

3. Möglichkeit: Verzicht auf das Interface und nur die Klasse verwenden.

Oder eine alternative Container Library verwenden, z.B. aus der JCL (Project JEDI) und dort die Interfaces/Klassen entsprechend erweitern.

Andreas