Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2 (https://www.delphipraxis.net/216305-spring4d-collections-fehlermeldung-e2250-nach-update-von-delphi-11-auf-12-2-a.html)

Friday 7. Dez 2024 11:22

Delphi-Version: 12 Athens

Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2
 
Hallo,
ich nutze die Spring4D Collections (v2.0) und nachdem ich von Delphi 11 auf 12 geupdated habe, habe ich in einem Programm plötzlich Haufenweise Fehlermeldung des Typs E2250 "Es gibt keine überladene Version von Where". Vergleichbare Fehlermeldungen mit Sort und Any.
Code Beispiel das den Fehler erzeugt:
Code:
aStockListe := aDict.Where(function (const ValPair: TPair<IStockListe, integer>): boolean begin
                                 Result := ValPair.Value = aDict.Values.Max; end).First.Key;
Das ist code der sich mit Delphi 11 problemlos compilieren liess.

Das erstaunliche ist, ein anderes Programm, dass ebenfalls die Collections von Spring4D nutzt mit vergleichbaren Code-Kontrukten lässt ich weiterhin kompilieren.

Kann das an Compiler-Einstellungen liegen oder der Reihenfolge der includes?
Danke vorab

jaenicke 7. Dez 2024 13:01

AW: Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2
 
Schreib einfach mal in Delphi 11 vor die verwendeten Typen, hier z.B. TPair, den Namen der Unit und prüfe, ob es dort kompiliert. Und dann versuche es in Delphi 12. Wenn es dort auch geht, weißt du, dass der Typ dort aus einer anderen Unit genommen wird. Welche, musst du dann prüfen, z.B. im Tooltip, wenn der angezeigt wird.

Friday 7. Dez 2024 15:00

AW: Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2
 
Danke, das hat mich tatsächlich zur Lösung gebracht. Ich muss davor noch eine Spring Version genutzt haben die kein TPair hatte und nun schon. Bisher hatte ich TPair von Generics genutzt und das kam dann zu Konflikten. Warum mir auch über 70 Fehler angezeigt wurden in Where/Sort/Any Abfragen in denen kein TPair genutzt war weiss ich zwar nicht, aber mit dem Entfernen der System.Generics.Collections aus den uses, waren die dann auch auf einmal weg.

Stevie 9. Dez 2024 12:57

AW: Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2
 
Nur damit ich das mal erwähnt habe - in 2.0 kannst du das auch anders schreiben:

Delphi-Quellcode:
aStockListe := TEnumerable.MaxBy<TPair<IStockListe, Integer>, Integer>(aDict,
  function (const pair: TPair<IStockListe, Integer>): Integer
  begin
    Result := pair.Value;
  end).Key;
8-)

Friday 9. Dez 2024 16:41

AW: Spring4D Collections: Fehlermeldung E2250 nach Update von Delphi 11 auf 12.2
 
danke für den Hinweis,
schöne Lösung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz