Einzelnen Beitrag anzeigen

Catweasel77

Registriert seit: 29. Apr 2019
9 Beiträge
 
#3

AW: Eine Frage zu Generics in generischen Listen

  Alt 5. Mai 2019, 21:11
@jaenicke

Vielen Dank fuer die schnelle Antwort.

Zitat:
Ich glaube du meintest es so in etwa wie im Anhang:
Ja, das sieht schon gut aus. Eine Sache ist aber noch unklar

Warum gibt 'Liste.Element[Index]' direkt den DatenType zurueck und nicht das DatenTyp Objekt.

Zum Beispiel:

Delphi-Quellcode:
type
  TIntegerList = TListTypeGeneric<longint, TIntegerClass>;

var
  Test: TIntegerList;
begin
  Test := TIntegerList.Create;
  try
    Test.AddNewElement.Data := 42; // AddNewElement liefert TIntegerClass zurueck
    ShowMessage(Test.Element[0].VString); // Element[0] liefert direkt einen Integer, kein TIntegerClass Objekt
  finally
    Test.Free;
  end;
end;
Die Element propery ist ja deklariert als:

property Element[index: integer]: TDataObjectType read GetElement write SetElement; Die eigene Methode VString waere schon wichtig wenn der DatenType ein record ist. Oder ich einen TColor Wert z.b. als 'Red:125 Green:65 Blue:69' ausdruecken will...

Ich stelle mir das so or das ich mit Liste.Element[Index].Data auf den Wert zugreife und mit VString einen selbstdefinierten String zurueckgebe.
ToString() liefert ja bei booleans '-1'.

Also die Preisfrage : Wieso bekomme ich kein Objekt zurueck? (Und wie doch?)

Waere toll wenn du mir das noch erklaeren koenntest

Im Voraus vielen Dank

Cheers,
Klaus
  Mit Zitat antworten Zitat