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