Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Generics: Ungültige Typumwandlung

  Alt 12. Nov 2012, 12:15
Delphi-Version: XE2
Hallo zusammen.

Mir machen mal wieder die Generics Kopfschmerzen. Ich möchte in einer Settings-Klasse eine generische get-Funktion haben, die mir den gewünschten Typ direkt castet. Das ganze sollte meiner Meinung nach so aussehen:

Delphi-Quellcode:

// Nur als Hinweis:
FValues = TDictionary<string, Variant>;

{ ...}

function TSettings.GetItem<T>(Key: String): T;
begin
  Result := T(FValues[Key]);
end;
Das ganze wollte ich dann z.B. so aufrufen:

Delphi-Quellcode:
var
 a: TMeineKlasse;
 i: Integer;
begin
 a := Settings.GetItem<TMeineKlase>('blabla');
 i := Settings.GetItem<Integer>('neZahl');
 // usw.
Leider bekomme ich als Fehler:
Code:
Ungültige Typumwandlung
bei meinem cast. Warum geht das nicht und was müsste ich denn ändern?
  Mit Zitat antworten Zitat