The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,439 other followers

Delphi 10 Seattle and up try “recover” unchanged files in the `$(BDS)` tree

Posted by jpluimers on 2018/09/11

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 of ERROR_PATH_NOT_FOUND error code 0x03 English The system cannot find the path specified.

Related:

–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

2 Responses to “Delphi 10 Seattle and up try “recover” unchanged files in the `$(BDS)` tree”

  1. This sounds like a possible optimization for Andreas Hausladen’s IDE fixpack.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: