When you press F1 on a component in the Form Designer the code checks to see if the component is in the help, if it isn't, by using the RTTI, the process is repeated with the parent class until help is found on the component or if TComponent then no help is found.
When you press F1 in the Object Inspector the same process is performed as above only looking for the property or event on the given component. If that search fails then just the component name is searched for. If all that fails then no help is found.
When you press F1 on a dialog the ContextID is used to find help. We format the string with "BDS5:
The most interesting things happen when you press F1 in the editor. For this work I had to add a few things to the compiler because I go through the kibitz compiler to get scoping and type information. I also added the ability for the editor to use the compiler associated with the file in question. The kibitz compiler doesn't support certain parts of a .pas file, so when the kibitz compile fails a token parser is used.
Part I
Part II
Part III
Part IV
No comments:
Post a Comment