[Lazarus] TOpenDialog causes debugger error on exit from program.
Martin Frb
lazarus at mfriebe.de
Wed Apr 8 18:17:36 CEST 2015
On 08/04/2015 16:54, Donald Ziesig wrote:
> Found another bug. This one is repeatable all of the time.
>
> Very simple demo. Create a new project. Put a TOpenDialog on the
> form. Then put two buttons. Button2 calls Close. Button1
> has the following code in the onclick handler.
>
> if OpenDialog1.Execute then;
>
> Run the program. Click Button2. The program exits normally.
> Run the program again. Click Button1. When the open dialog
> appears, select a file at random (since it will not be touched
> by the program). Then Click Button2. The Debugger raises an
> exception "GDB as encountered an internal error: ... "
>
> This occurs in RC3 for Win32.
What is the message of the internal error?
There are several known problems (especially win 7 and up) where gdb
7.2 does not like the dll loaded for the open dialog (shell extensions
or something)
Workaround is
http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working
It may be that the problem is solved in more uptodate versions of gdb.
Unfortunately testing gdb (up to 7.8.1 so far) all newer versions had
regressions. The only newer version that was in some form usable is gdb
7.7.1. This is available as separate download. The download page has a
description of known issues.
Given that this is likely a gdb issue, only fixable in gdb, and given
that newer gdb are less stable (when used with exe generated by fpc) or
have other problems, there is currently no way to fix this issue for
everybody. GDB 7.7.1 is only advisable if gdb 7.2 can not be made
working at all. I advice trying the setting from the link first.
More information about the Lazarus
mailing list