Discussion:
Auto-recovery for Delphi IDE a bad idea.
(too old to reply)
Skybuck Flying
2015-09-02 18:54:35 UTC
Permalink
Hello,

I am reading through the features list of Delphi 10.

I can already see one alarming feature:

"Auto-recovery of work/Delphi IDE" for when something/system/ide crashes.

I think this is a bad idea because this could cause an infinite loop where
the Delphi IDE and/or system keeps crashing.

For example something in the project files causes the IDE to crash,
re-loading these project files causes the crash again and again and again
and so forth.

I have seen this behaviour in other software for example: Internet Explorer
9 and 10 and 11.

It was the main reason why I had to de-install internet explorer for it to
never return.

So don't make same mistake as Microsoft.

Remove this feature or even better: make it a manual option in the menus:

"Recover from crash" or "Recover from crashed IDE".

Bye,
Skybuck.
Skybuck Flying
2015-09-02 19:03:15 UTC
Permalink
Another solution to keep the auto-recovery feature would be the following
algorithm to prevent infinite loops:

Booleans stored on disk:

AutoRecoveryEnabled
AutoRecoveryStarted
AutoRecoveryFinished

Step 1. Starting auto recovery mode:

if Read Booleans From Disk then
if AutoRecoveryEnabled then
begin
if AutoRecoveryStarted = True then
begin
if AutoAutoRecoveryFinished = False then
begin
AbortAutoRecovery; // apperently something went wrong the
last time it was tried, abort.
end;
end else
begin
// reset started and finished booleans
AutoRecoveryStarted = False
AutoRecoveryFinished = False
end;
StartAutoRecovery;
end;
end;

proc StartAutoRecovery:
begin
AutoRecoveryStarted = True
AutoRecoveryFinished = False
if WriteBooleansToDisk then
begin
... perform auto recovery here...
end;
end;

Step 2. Finishing auto recovery

AutoRecoveryStarted = False
AutoRecoveryFinished = True

WriteBooleansToDisk

Something like that might protect infinite loops.

Tested it well ! ;) =D

Bye,
Skybuck.

Loading...