Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Auto-recovery for Delphi IDE a bad idea.

8 views
Skip to first unread message

Skybuck Flying

unread,
Sep 2, 2015, 2:54:33 PM9/2/15
to
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

unread,
Sep 2, 2015, 3:03:13 PM9/2/15
to
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.

0 new messages