Autor Beitrag
Stex
Hält's aus hier
Beiträge: 12

Win XP
Delphi 7 Prof.
BeitragVerfasst: Sa 15.08.09 15:05 
Hi,

ich habe im Moment ein Problem, das ich auch durch Suchen und herumprobieren nicht lösen konnte:

Ich habe eine Klasse TModel, die Objekte eines bestimmten Typs erstellt.
Der Basistyp dieser zu erstellenden Objekte ist TFoundObject.

Nun möchte ich allerdings weitere Klassen erstellen, die von TModel erben und auch eigene FoundObjects haben (die mehr Funktionen aufweisen als das Grundobjekt TFoundObject).

Wie kann ich TModel sagen, von welchem Typ die Objekte sein sollen, die es erstellt (also meine von TFoundObject abgeleitete Klasse)? Ich habe es schon mit TClass als Parameter versucht, aber dann weiß TModel ja nicht einmal, dass es die TFoundObject-Funktionen besitzt.

Gibt es dafür eine einfache Lösung und ich habe sie nur übersehen?

Vielen Dank schonmal im Voraus!
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Sa 15.08.09 15:15 
Erstelle in der Klasse TModel eine Funktion, die ein Objekt der Klasse TFoundObject erstellt und zurückgibt.

In der Nachfolgekalsse kannst du dann diese Funktion überschrieben und ein Objekt einer andere Klasse erstellen und zurückgeben ;)
Stex Threadstarter
Hält's aus hier
Beiträge: 12

Win XP
Delphi 7 Prof.
BeitragVerfasst: Sa 15.08.09 15:34 
Vielen Dank für deine Antwort!

Diese Lösung hatte ich mir auch schon überlegt, aber ich hatte gehofft, dass es ohne einen override gehen würde :/
Werde ich jetzt aber wohl trotzdem so machen, damit es überhaupt funktioniert.