Thursday, January 13, 2005

Delphi 7 Bug driving me crazy

A strange bug appears inside the Delphi 7 IDE while you are developing. Since it appears normally only at the end of a debugging session, it takes a while to understand what is going on.

The Delphi 7 IDE has a one of the new feature the ability to “dock” several windows together. It not as good as within Visual Studio 2003, but it properly better than anything you had with Delphi 6. However, when you do this and start debugging, everything seems to be normally. But when you end the debugged application, Delphi out of a sudden displays an error message like: “Access violation at address 0052C7DC in module 'coreide70.bpl'. Read of address 000000AC” or “Access violation at address 00xxxx in module 'vcl7.bpl'. Read of address xxxx”. Delphi crashes so badly, that it even does not end the debugged application so the only way to start working with Delphi again is to exit it and start over.

Because you are a developer you think your virus scanner, a lately installed application or your program itself it the cause of this error. BZZZZ! WRONG! This is a big, bad bug inside the Delphi 7 IDE.

For some reasons, Delphi does not like the dogging of Debug windows (like Call Stack, Local Variables etc.) to the Source Code window. If you move these debug windows to an own window (they can all be dogged together in one window) nothing happens. However, if you try to attach only one of these debug windows to the normal source code window, you are out of luck and the bug will appear when the IDE tries to switch back to the normal layout.

You can easily test if you have this bug: Simply switch between the different desktops (the drop-down right from the “Help” menu) without debugging anything. If you see the above noted error message, you are hit be this bug.

To resolve it, first delete the desktop where the crash happens (View -> Desktops -> Delete). Next, recreate it and do not attach any debug window to the source code window. Then save the desktop and try switching again.

No comments:

Post a Comment