Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Ich bin ein Playboy ... äääääää, ein Spieljunge/Spielkind
und "neue" Dinge müssen gründlich ausprobiert werden.
Ja, und ich suche gern die Grenze des Möglichen und wenn möglich überschreite ich sie gerne mal.
Wenn es nicht klappt, dann geht's halt nicht und ich löse es anders/normal. :angel2:
Die Verwaltung einer mehrfach verketteten Liste ist ja nicht unbedingt sooooo einfach.
Für...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Och menno. :cry:
Nja, ich hab mir hier halt ein Problem geschaffen
und versuche dafür nun eine "nette" Lösung zu finden.
Nja, ich werde noch etwas rumspielen ... mal sehn, vielleicht finde ich ja noch eine andere Lösung, außer dem Interface.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Für die Verwaltung ist nur der aktuelle Typ wichtig und nicht irgendein Vorfahr. (zumindestens in meinem Fall)
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
OK, dann eben ein anderes Beispiel:
procedure Proc(SL: TStrings);
begin
end;
var X: TListNode<TStringList>;
Proc(X); // geht auch nicht, da keine Stringliste
Und sag jetzt nicht,
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
@Uwe:
var X: TListNode<TStringList>;
if X is TStringList then // geht nicht, da keine Stringliste
Das ist halt mein Problem.
Ich möchte den Basistypen ändern und nicht irgendeinen inneren Typen
und dafür muß man den Basistypen von TListNode ändern.
TListNode<T> = class(Basistyp)
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Neee, det "Basistyp ist eben hier noch nicht festgelegt, dieser ist in der generischen Klasse noch unbekannt und wird erst in der Ableitung entschieden.
Ich wollte auf diese Weise eine allgemeine Verwaltung einer verketteten Liste implementieren.
Bei dieser Verwaltung ist der "Basistyp" unwichtig.
Das : Class soll nur sicherstellen, daß dort nur irgendeine Klasse angegeben werden kann,...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Nee, andere Wege helfen hier leider nichts,
denn wenn z.B. TMyClass direkt von TObject abgeleitet ist (alles Andere wäre Aufgrund des "unbekannten" Basistyps nicht sinvoll),
dann hätte auch TTest nur TObject als Vorfahre und wäre dann, laut dem Beispiel, nicht mit TComponent kompatibel und somit kann man diese Klasse auch nicht als "Komponente" einsetzen.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
15. Mär 2010
Praktisch möchte ich sowas haben,
TMyClass<Ancestor: Class> = Class(Ancestor)
* ^^^^^^^^
aber Delphi meint nur
Denn diese Klasse soll selber nur eine gewisse Funktionalität für andere, davon abgeleitete Klassen bereitstellen, aber ich wollte den anderen Klassen nicht die Möglichkeit nehmen, jeweil einen "anderen" Vorfahren zu nutzen.
z.B.