Zitat von
mirage228:
Unter D2010 compiliert es, wenn ich folgendes schreibe:
TIDObjectList<T: IIDObject> = class(TList<T>)
Viele Grüße
Ja aber das hilft mir in meiner Situation nicht wirklich. Hintergrund ist, dass ich eine Funktion habe, der ich eine Liste mit IIDObject-Objekten übergeben will. In der Funktion benötige ich auch nur die im Interface deklarierten Methoden.
Ich hätte dann z.B. eine TTest1-Liste und eine TTest2-Liste. Sowohl TTest1 als auch TTest2 würden IIDObject implementieren.
Eine normale TObjectList<TTest1> bzw. TObjectList<TTest2> kann ich nicht verwenden, weil die nicht zueinander kompatibel sind. (Keinen gemeinsamen Vorfahren bis auf TObject). Deswegen bin ich auf die Idee oben gekommen. Eine Liste die von einer TList<IIDObject> ableitet. Der Parameter der Funktion wäre dann vom Typ TList<IIDObject>. Ich könnte dann eine TIDObjectList<TTest1> und eine TIDObjectList<TTest2> übergeben.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."