![]() |
Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Moin,
ich habe einen meiner PCs auf WIN 11 upgegradet (nicht neu aufgesetzt). Jetzt bekomme ich bei einem meiner Programme auf dem WIN11-Rechner die Fehlermeldung "E2034 zu viele Parameter" Der Aufruf ist
Delphi-Quellcode:
und die Routinen dahinter (eigene Unit):
(* Anzahl wie oft gesehen ändern *)
HoleCSVZeile(Data.FCaption, 0, FilmListe, FilmListeZeile, FilmListeZeilenNr);
Delphi-Quellcode:
auf dem WIn10-Rechner kann ich das Programm problemlos kompilieren und starten. Hat da jemand eine Idee ?
function HoleCSVZeile(SuchCode: String; Suchfeld: Integer; CSVListe: TStringList; var Rueckgabe: String): Boolean; overload;
function HoleCSVZeile(SuchCode: String; Suchfeld: Integer; CSVListe: TStringList; var Rueckgabe: String; var ZeilenNummer: integer): Boolean; overload; Gruss Hans |
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Wie ist FilmListeZeilenNr denn deklariert?
|
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
FilmListeZeilenNumer ist ein Integer, direkt in der procedure definiert in der dann auch der Aufruf stattfindet
Hans |
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Bist Du sicher, daß du auf beiden Rechnern auf die identische Datei zugreifst, die HoleCSVZeile enthält? Prüfe auch mal die Pfade, nicht daß da ein Pfad verwendet wird, der auf eine ältere Version der Datei verweist.
|
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Am Besten auf den overload verzichten. Dann bekommst Du auch aussagekräftigere Fehlermeldungen.
|
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Wenn ich das richtig verstehe, kommt der Fehler ja schon beim Compilieren und nicht erst zur Laufzeit. In dem Fall sollte Win10/Win11 eigentlich keinen Unterschied machen, solange die gleiche Delphi Version und die gleichen Sourcen verwendet werden.
Ich würde erstmal prüfen, welche HoleCSVZeile denn vom Compiler da gefunden wird, wenn es zu der Fehlermeldung kommt. Vielleich wird ja gar nicht der aktuelle Unit-Source gefunden, sondern eine veraltete DCU-Datei. |
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Benenne die Funktion, die du denkst zu benutzen, einfach mal um. Wenn es dann trotzdem kompiliert, weißt du, dass du nicht die Unit / DCU verwendest, die du denkst.
|
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Danke - ich hatte wirklich da leider eine alte Libary genutzt die ich lokal auf dem Laptop hatte !
Vielen Dank für die ganzen Denkanstöße !! Gruss Hans |
AW: Umstieg auf Win 11 - plötzlich "zu viele Parameter"
Es lässt sich in den Projektoptionen das Ausgeben die Dependencies aktivieren.
Dann wird eine *.d erstellt (neben der EXE/DLL, bzw. bei BPL neben der DCP), in welcher drin steht, welche PAS/DCU verwendet wurden, sowie welche DCP (BPL). DCC_OutputDependencies Projektoptionen > Erzeugen > Delphi-Compiler > Compilieren > Weitere Optionen > Unit-Abhängigkeitsinformationen ausgeben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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