[Lazarus] cannot understand popup menu and form not-closing

JoshyFun joshyfun at gmail.com
Fri Feb 12 18:12:08 CET 2010


Hello Lazarus-List,

Friday, February 12, 2010, 6:00:24 PM, you wrote:

>> It is a bit strange and seems to be related to the message queue
>> process as in the bug report comments you can see that calling an
>> Application.ProcessMessages before ending the affected function
>> "solves" the problem.
RP> I tried to put it everywhere but the problem is still there.
RP> Which is the affected function in your opinion?

I was trying the last weekend to find the root of the problem
debugging all LCL messages without success, seems that the window
after the 5 seconds receives a "Are you alive" message which is not
being processed so window is marked as "possible not alive"
(background becomes a white background usually) and when the close is
issued nothing happends. This problem must be fixed by somebody with a
deep know of the LCL and the windows message system. If in the close
mode you use "caFree" instead "caHide" it closes fine as the handle is
destroyed but using "caHide" the window is hidden and thats the
operation that fails.

The message queue seems to hold something like a pending showwindow
not processed, the close sends a hidewindow but using sendmessage so
the message is processed just in time, but as a showwindow is pending
in the queue nothing heppends. This is not the exact behaviour as this
could fail in the first close try but not in the next ones.

Try to .free the window programatically, if it works you are quite
sure in the same situation as the bug report, if it fails the problem
should be different.

-- 
Best regards,
 JoshyFun





More information about the Lazarus mailing list