Einzelnen Beitrag anzeigen

Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#1

Delphi-Coll unter XE2 oder neuer nutzen

  Alt 6. Jun 2014, 12:04
Hallo,

ich benutze in einem Projekt von mir die Delphi-Collections, (https://github.com/ghquant/delphi-coll) welche u.A. Erweiterungen für generische Listen, Dictionaries und auch MultiMaps mitbringen. Die Kompilierung des Source-Codes scheitert bei der Kompilierung mit XE2 und XE5 an Stellen in dem entweder ein TKey oder TValue-Wert nach TObject gecastet werden soll:

Delphi-Quellcode:
procedure TObjectDictionary<TKey, TValue>.HandleKeyRemoved(const AKey: TKey);
begin
  if FOwnsKeys then
    TObject(AKey).Free; // <-- E2089 Ungültige Typumwandlung
end;
Mit Delphi XE funktioniert das ganze so noch.

Da es offensichtlich keine neuere Version gibt, frage ich mich nun, wie dieser Fehler behoben werden kann, um diese Library zu XE2/XE5 kompatibel zu machen. Womöglich ist es auch zielführender eine andere Collection-Library zu verwenden, welche noch aktiv gepflegt wird. Im Spring-Framework sind ebenfalls Collections vorhanden, jedoch keine MultiMaps wenn ich das richtig sehe.

Was ich brauche, ist ein generisches TDictionary, welches mehrere Values pro Key verwalten kann. Dies kann (konnte) Delphi in der Vergangenheit leider nicht out-of-the-box.

Hat jemand einen Ratschlag für mich?

Grüße
Stefan
  Mit Zitat antworten Zitat