Subject Re: [IBO] Contextual help: Possible bug in TIB_Grid
Author Salvatore Besso
hello Jason,

> I have not looked into this issue yet. Did you learn anything
> you feel to share in the time spent?

oh yes, I want to share the big headache that I have got in the three days
debugging :-)

Ok, jokes apart, I have tried to monitor the travel of the WM_HELP message from
the click on the TIB_Grid using conditional breakpoints in various parts of the
VCL (if I don't use a condition in the breakpoint it's almost impossible to
continue program's execution because the execution is always stopped at the
breakpoint). The condition, depending on the parameter tupe could be

Message.Msg = WM_HELP

As a starting point I have begun with a breakpoint in TCustomForm.WMHelp method
(no condition) and another in TApplication.WndProc method (condition Message.Msg
= WM_HELP). Both methods are in Forms.pas.

As soon as you click with the ? cursor on either control on the form, for
example on a TIB_LocateEdit, execution immediatly stops at the breakpoint in
TCustomForm.WMHelp method where the event is correctly processed. Instead, if
you click with the ? cursor on the TIB_Grid simply nothing happens, that's to
say that execution never goes through the two breakpoints that I have set. This
is the strange thing.

Anyway, I have just tried another debug session (over one hour with another
headache :-) and I have noticed that TIB_CustomGrid, unlike TDBCustomGrid (they
both descend from TCustomGrid), doesn't have the DefaultHandler method in its
declaration. During the new debug session of this morning I have noticed that
clicking with the ? cursor on a TDBGrid the excution stops in
TDBCustomGrid.DefaultHandler, hence, because it is not declared in
TIB_CustomGrid, I suppose that the default behaviour could not be performed, but
it's only a guess. That was my best try...

Regards
Salvatore