[Lazarus] TSynEdit bug in destructor?
Martin
lazarus at mfriebe.de
Tue Nov 8 16:49:37 CET 2011
On 08/11/2011 15:39, Bart wrote:
>
> It creates and frees a TSynEdit at runtime.
> Note that pressing Ctrl-F4 will also free the TSynEdit.
>
> If you run the program and press the Free button, the TSynEdit gets freed OK.
> If however you press Ctrl+F4 and at that moment the TSynEdit has
> focus, then you get a warning when freeing the TSynEdit:
>
> WARNING: TLCLComponent.Destroy with LCLRefCount>0. Hint: Maybe the component is
> processing an event?
>
>
You need to do a callstack, of where you handle ctrl-f4.
But I think the bug is in your code. It is not necessarily synedit specific.
If SynEdit was focussed then SynEdit message handler may be called, the
form key handler may run inside (inherited) that handler.
If you destroy synedit while one of it's methods is executed, then that
is what you get.
Look at sourceEditor. you can somehow give synedit to the application
for destruction OnIdle
More information about the Lazarus
mailing list