Forum: Object-Pascal / Delphi-Language
by Catweasel77,
7. Mai 2019
@Rudy Velthuis
Hmm.. Das ist der Teil der nur einmal geschrieben ist:
{ TDataTypeGeneric<TDataType> }
function TDataTypeGeneric<TDataType>.GetData: TDataType;
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
7. Mai 2019
@jaenicke
Bei einfachen Datentypen ja. Aber was wenn der DatenTyp eine Klasse mit Objekt members ist, z.b.:
uses
Classes, UDataTypes;
type
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
6. Mai 2019
So hatte ich mir das auch gedacht.
Ich bezog mich auf die Loesung von jaenicke (Dateianhang).
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
6. Mai 2019
Njein. Element hat direkt den (Basis)typ zurueckgegeben. das war ja mein Verstendnisproblem.
Als generische Liste liefert Items natuerlich ein objekt des generischen Typs.
Ich hatte da noch die Denkweise vom ohne-Generics programmieren, wo eine TObjectList "nur" ein TObject liefert.
So liefert mir Items bei einer TBooleanList schon ein TBooleanClass zurueck ohne das ich das erst casten muss.
...
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
6. Mai 2019
Ja, irgendwie war ich der Meinung Items wuerde mir nur ein TObject zurueckgeben.
Wie gesagt, ist mein erster Gehversuch mit Generics :)
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
6. Mai 2019
Naja, so gesehen kann man alles was man mit Generics machen kann auch ohne machen.
Stell dir diese Klasse vor:
type
TIntegerClass=class(TObject)
private
FData : longint;
function GetData: longint;
procedure SetData(const Value: longint);
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
5. Mai 2019
Wieso? Ich benutze doch Generics. TDataTypeGeneric ist der generische Typ. Der code fuer die Data property und das streaming ist das selbe.
Lediglich die VString property ist fuer jede Klasse anders da jeder Typ ne andere Umwandlung zu string hat (IntToStr, FloatToStr, etc.).
Also Klassen mit nem Data member das gestreamt werden kann, mit unterschiedlichen Basistypen.
Ich will nur nicht die...
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
5. Mai 2019
@jaenicke
Vielen Dank fuer die schnelle Antwort.
Ja, das sieht schon gut aus. Eine Sache ist aber noch unklar :)
Warum gibt 'Liste.Element' direkt den DatenType zurueck und nicht das DatenTyp Objekt.
Forum: Object-Pascal / Delphi-Language
by Catweasel77,
5. Mai 2019
Hallo :)
Ich bin gerade dabei mich mit Generics zu beschaeftigen. Zum Teil klappt das auch ganz gut, aber ein kleines Problem hab ich noch bei dem ich nicht durchblicke. Hoffentlich kann mir jemand weiterhelfen und ein paar Tipps geben.
Nehmen wir an ich moechte eine Klasse fuer Datentypen haben mit der Faehigkeit aus einem Stream zu lesen, bzw. in Einen zu schreiben und den Wert als string...