Every now – after some period of inactivity – I get an error like this when not having changed the file at all:
--------------------------- Error --------------------------- Cannot create file "C:\Program Files (x86)\Embarcadero\Studio\18.0\Source\DUnit\src\__recovery\GUITestRunner.pas". Het systeem kan het opgegeven pad niet vinden. --------------------------- OK Details >> ---------------------------
This has been present since ever since Delphi 10 Seattle introduced the “recovery” feature on unchanged files in a read-only directory tree like for instance $(BDS)
.
It assumes the __recovery
subdirectory has been created (which it cannot, but never raised an error about), then barfs when it cannot find the directory.
This is a classic example of “nice idea, bad execution, not caught by thinking through all the test cases”.
I think one of the roles played, is that cursor movements are part of the undo/redo stack. My suspicion is that this raises a “changed” flag, where in fact the file is unmodified.
Het systeem kan het opgegeven pad niet vinden.
is the Dutch version ofERROR_PATH_NOT_FOUND
error code0x03
EnglishThe system cannot find the path specified.
Related:
- [WayBack] System Error Codes (0-499) | Microsoft Docs
- [WayBack] c++ – ERROR_PATH_NOT_FOUND vs ERROR_FILE_NOT_FOUND, what is the difference? – Stack Overflow
- [WayBack] windows – What’s the difference between PATH_NOT_FOUND and NAME_NOT_FOUND – Stack Overflow
–jeroen
--------------------------- Error --------------------------- Cannot create file "C:\Program Files (x86)\Embarcadero\Studio\18.0\Source\DUnit\src\__recovery\GUITestRunner.pas". Het systeem kan het opgegeven pad niet vinden. --------------------------- OK Details << --------------------------- [5015B973]{rtl240.bpl } System.Classes.TFileStream.Create (Line 8559, "System.Classes.pas" + 8) + $45 [5015B890]{rtl240.bpl } System.Classes.TFileStream.Create (Line 8542, "System.Classes.pas" + 2) + $B [20983E56]{coreide240.bpl} AutoRecover.TAutoRecoverModule.SaveTempFiles (Line 564, "AutoRecover.pas" + 39) + $7 [209838FC]{coreide240.bpl} AutoRecover.TAutoRecoverIDENotifier.TimerExecute (Line 395, "AutoRecover.pas" + 1) + $2 [50B5F9DF]{vcl240.bpl } Vcl.ExtCtrls.TTimer.Timer (Line 3109, "Vcl.ExtCtrls.pas" + 1) + $E [50B5F8C3]{vcl240.bpl } Vcl.ExtCtrls.TTimer.WndProc (Line 3067, "Vcl.ExtCtrls.pas" + 4) + $7 [50170DFC]{rtl240.bpl } System.Classes.StdWndProc (Line 17187, "System.Classes.pas" + 8) + $0 [50BEEDE7]{vcl240.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10534, "Vcl.Forms.pas" + 23) + $1 [50BEEE2A]{vcl240.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10564, "Vcl.Forms.pas" + 1) + $4 [50BEF15D]{vcl240.bpl } Vcl.Forms.TApplication.Run (Line 10702, "Vcl.Forms.pas" + 26) + $3