![]() |
"Ungültige Zeichen im Pfad"
ich bekomme seit einiger Zeit beim Start der IDE (Delphi 12 pro) am Ende des Ladevorgangs immer ein Fehlerfenster "Ungültige Zeichen im Pfad" und darunter: [A⃣t?]. Das Fehlerfenster kann ich einfach schließen und das scheint keine weiteren Auswirkungen zu haben. Ist aber lästig. Das kürzliche Update von 12.2 auf 12.3 hat der Fehler auch überlebt.
Ich kann im Fehlerfenster noch auf Details gehen, aber das hilft mir auch nicht weiter. Wo könnte diese Pfadangabe gespeichert sein? Hat ja nichts mit meinen Projekten zu tun, da es bereits beim Start der IDE auftritt. Allerdings werden natürlich auch einige Fremd-Packages geladen (FastReport usw.). |
AW: "Ungültige Zeichen im Pfad"
Ist der Pfad (also %PATH%) eventuell zu lang, und wird einfach abgeschnitten?
|
AW: "Ungültige Zeichen im Pfad"
In der Delphi-IDe kann man die Path-Angabe überschreiben.
Wenn der allgemeine pfad so sein muss, dann kannst den für Delphi passend verkürzen |
AW: "Ungültige Zeichen im Pfad"
Ich würde auf einen fehlerhaften Pfad in den Bibliotheks- oder Suchpfaden tippen, also unter Optionen -> Sprache -> Delphi
|
AW: "Ungültige Zeichen im Pfad"
Leider hab ich das immer noch nicht lösen können. Der Pfad war tatsächlich zu lang, vor allem, weil dort schon längst deinstallierte ältere Delphi-Versionen noch drin standen. Das Löschen dieser alten Einträge in den Windows Einstellungen, so dass ich den dort überhaupt wieder speichern konnte, hat aber den IDE-Ladefehler nicht beseitigt. Alle in der IDE selber änderbaren Verzeichnis- und Pfad-Einstellungen bin ich natürlich durchgegangen; leider auch vergebens. Meine Hoffnung beruht jetzt darauf, direkt in die Einstellungs-Dateien der IDE zu schauen. Aber wo liegen die überhaupt? Oder liegen auch Einstellungen in der Registry?
|
AW: "Ungültige Zeichen im Pfad"
Ja, das liegt alles in der Registry. Ob es daran liegt, kannst du leicht testen, indem du einen anderen Registrypfad verwendest:
bds.exe -rNeu (Dann verwendest du den Pfad "Neu".) Für msbuild werden die Pfade von der Registry beim Start von Delphi in spezielle Dateien übertragen, aber das spielt hier keine Rolle, das braucht man nur für Komponenteninstaller. Zitat:
Ist vielleicht im Hintergrund auf dem Splashscreen zu sehen, was gerade geladen wird? |
AW: "Ungültige Zeichen im Pfad"
hallo Sebastian,
danke für den Tipp mit dem registry-Zweig. Der Fehler ist dann tatsächlich weg, alles was ich zusätzlich installiert habe aber natürlich nicht mehr drin. Zum Detail-Fenster der Fehlermeldung: Ist da, aber ich kann darin nichts auffälliges entdecken; siehe unten. Der Splashscreen ist leider mit der Fehlermeldung nicht mehr sichtbar; die letzte Anzeige ist "FastReport VCL" und nach Schließen des Fehlerfensters bin ich in der IDE und alles funktioniert. Ist also eigentlich für mich nur ein kleines, aber dafür tägliches Ärgernis. Der angezeigte fehlerhafte Pfad ist leider sehr kurz und enthält irgendein mir unbekanntes Unicode-Zeichen (ein Rechteck); sonst würde ich einfach danach suchen. [6796735D]{rtl290.bpl } System.IOUtils.TPath.DoCombine (Line 3813, "System.IOUtils.pas" + 15) + $13 [679673E8]{rtl290.bpl } System.IOUtils.TPath.DoCombine (Line 3829, "System.IOUtils.pas" + 31) + $13 [67967132]{rtl290.bpl } System.IOUtils.TPath.Combine (Line 3727, "System.IOUtils.pas" + 1) + $A [5D6F496B]{coreide290.bpl} AutoRecover.TAutoRecoverForm.RecoverDir (Line 798, "AutoRecover.pas" + 7) + $19 [5D6F4756]{coreide290.bpl} AutoRecover.TAutoRecoverForm.LoadRecoveredFiles (Line 756, "AutoRecover.pas" + 15) + $13 [5D6F4632]{coreide290.bpl} AutoRecover.TAutoRecoverForm.FormCreate (Line 721, "AutoRecover.pas" + 4) + $2 [675078AD]{vcl290.bpl } Vcl.Forms.TCustomForm.DoCreate (Line 5534, "Vcl.Forms.pas" + 3) + $C [675073CC]{vcl290.bpl } Vcl.Forms.TCustomForm.AfterConstruction (Line 5401, "Vcl.Forms.pas" + 1) + $4 [677F07D9]{rtl290.bpl } System.@AfterConstruction (Line 19736, "System.pas" + 2) + $5 [686407F1]{designide290.bpl} DockForm.TDockableForm.Create (Line 139, "DockForm.pas" + 4) + $6 [5D6F3393]{coreide290.bpl} AutoRecover.TAutoRecoverIDENotifier.CheckRecovered Files (Line 258, "AutoRecover.pas" + 6) + $F [5D6F3977]{coreide290.bpl} AutoRecover.TAutoRecoverIDENotifier.ProductStarted (Line 381, "AutoRecover.pas" + 13) + $2 [685BB18D]{designide290.bpl} Events.TEvent.Send (Line 154, "Events.pas" + 2) + $11 [006B0580]{bds.exe } AppMain.PostCreateInit + $3B8 [006B08DE]{bds.exe } AppMain.TAppBuilder.CMPostCreateInit + $2E [673BF2AE]{vcl290.bpl } Vcl.Controls.TControl.WndProc (Line 7997, "Vcl.Controls.pas" + 91) + $6 [674CD243]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5823, "Vcl.Themes.pas" + 7) + $D [677F1860]{rtl290.bpl } System.@TryFinallyExit (Line 23829, "System.pas" + 8) + $0 [674CD331]{vcl290.bpl } Vcl.Themes.TStyleManager.GetStyle (Line 5834, "Vcl.Themes.pas" + 18) + $1E [677F05CB]{rtl290.bpl } System.TObject.Dispatch (Line 19280, "System.pas" + 11) + $0 [674D1281]{vcl290.bpl } Vcl.Themes.TStyleHook.WndProc (Line 7734, "Vcl.Themes.pas" + 38) + $6 [674D1462]{vcl290.bpl } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7833, "Vcl.Themes.pas" + 1) + $4 [6752389B]{vcl290.bpl } Vcl.Forms.TFormStyleHook.WndProc (Line 20679, "Vcl.Forms.pas" + 31) + $5 [6751E542]{vcl290.bpl } Vcl.Forms.TFormStyleHook.IsStyleBorder (Line 18549, "Vcl.Forms.pas" + 1) + $13 [6751E580]{vcl290.bpl } Vcl.Forms.TFormStyleHook.HandleMessage (Line 18556, "Vcl.Forms.pas" + 2) + $6 [675FBA78]{vcl290.bpl } Vcl.Styles.TStyleEngine.HandleMessage (Line 3665, "Vcl.Styles.pas" + 20) + $8 [677F2789]{rtl290.bpl } System.@UStrAsg (Line 27009, "System.pas" + 18) + $0 [674CD464]{vcl290.bpl } Vcl.Themes.TStyleManager.HandleMessage (Line 5892, "Vcl.Themes.pas" + 11) + $11 [673C28B7]{vcl290.bpl } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 10033, "Vcl.Controls.pas" + 0) + $F [673C4963]{vcl290.bpl } Vcl.Controls.TWinControl.WndProc (Line 11231, "Vcl.Controls.pas" + 178) + $6 [673BEEE4]{vcl290.bpl } Vcl.Controls.TControl.Perform (Line 7775, "Vcl.Controls.pas" + 10) + $8 [67509070]{vcl290.bpl } Vcl.Forms.TCustomForm.WndProc (Line 6324, "Vcl.Forms.pas" + 1) + $37 [67509947]{vcl290.bpl } Vcl.Forms.TCustomForm.WndProc (Line 6597, "Vcl.Forms.pas" + 274) + $5 [673C3E28]{vcl290.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10900, "Vcl.Controls.pas" + 3) + $6 [6791520C]{rtl290.bpl } System.Classes.StdWndProc (Line 19091, "System.Classes.pas" + 8) + $0 [67514C2B]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 13408, "Vcl.Forms.pas" + 23) + $1 [67514C56]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessages (Line 13430, "Vcl.Forms.pas" + 1) + $4 [006B1053]{bds.exe } AppMain.TAppBuilder.ApplicationActivated + $7 [6756EF3F]{vcl290.bpl } Vcl.AppEvnts.TCustomApplicationEvents.DoActivate (Line 210, "Vcl.AppEvnts.pas" + 1) + $12 [6756F5DD]{vcl290.bpl } Vcl.AppEvnts.TMultiCaster.DoActivate (Line 438, "Vcl.AppEvnts.pas" + 5) + $C [675140D4]{vcl290.bpl } Vcl.Forms.TApplication.WndProc (Line 12980, "Vcl.Forms.pas" + 140) + $C [6791520C]{rtl290.bpl } System.Classes.StdWndProc (Line 19091, "System.Classes.pas" + 8) + $0 [67514C2B]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 13408, "Vcl.Forms.pas" + 23) + $1 [67514C56]{vcl290.bpl } Vcl.Forms.TApplication.ProcessMessages (Line 13430, "Vcl.Forms.pas" + 1) + $4 [00702B4C]{bds.exe } bds.bds + $CC |
AW: "Ungültige Zeichen im Pfad"
Der Stacktrace ist tatsächlich aufschlussreich. Oben siehst du Zeilen wie AutoRecover.TAutoRecoverForm.RecoverDir. Das deutet darauf hin, dass Delphi abgestürzt ist und du die automatischen Sicherungen angeschaltet hast. Offenbar wird dort ein Projekt geladen und der Dialog zur automatischen Wiederherstellung versucht anzuzeigen.
Es gibt im jeweiligen Projekt einen Unterordner _recovery. Damit stimmt vermutlich etwas nicht. |
AW: "Ungültige Zeichen im Pfad"
Ist es eigentlich das ganz neue Delphi (von vor paar Tagen), oder 'ne ältere Version?
Eine Weile lang (paar Jahre) war das Recovery defekt (speichern funktionierte, aber das automatische Laden nicht) und dort hatten sie im letzten Release endlich mal was gemacht und es "repariert". Nja, kann ja dennoch sein, dass da immernoch etwas nicht stimmt. In dem __recovery-Verzeichnis sollte eine INI liegen (im Verzeichnis des Projekts *.dproj, bzw. bei der ProjektGruppe *.groupproj) und in dieser INI stehen dann die "ungespeicherten" Dateien, welche automatisch gesichert wurden. |
AW: "Ungültige Zeichen im Pfad"
vielen herzlichen Dank; jetzt hab ich's endlich gefunden. An meine Projekte hatte ich gar nicht gedacht, da das Fehlerfenster ja schon beim Start der IDE kommt, nicht erst beim Laden eines Projektes. Aber tatsächlich stehen die fehlerhaften Angaben im __recovery.ini eines Projekts:
[At?] SaveTime=11.02.2025 16:29:50 FileCount=2 File0=E:\WaWi2\WAB\At? File1=E:\WaWi2\WAB\AutoBelegerstellungVK.dfm Übrigens habe ich recht häufig Abstürze der IDE, immer während Debug-Läufen mit Breakpoints und auch ohne dass ich während des Debug-Laufs Daten ändere. Die IDE ist dann nicht beendet, sondern hängt mit hoher CPU-Auslastung, so dass ich sie abschießen muss. Zudem auch auffällig: Im Debug-Modus verwende ich "ReportMemoryLeaksOnShutdown := true;" und wenn ich auf Breakpoints gelaufen bin, auch ohne sonst was zu machen, bekomme ich häufig bei Programmende eine Memory-Leak-Liste. Ich pflege das Projekt (mit Compiler-Conditionals) auch immer noch in seiner ursprünglichen Delphi-2007-Fassung; da hab ich niemals solche Probleme gehabt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 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