Customizing the IDE Help system

The IDE supports multiple Help viewers in exactly the same way that a VCL or CLX application does: it delegates Help requests to the Help Manager, which forwards them to registered Help viewers. The IDE makes use of the same WinHelpViewer that the VCL uses.

The IDE comes with two Help viewers installed: the HyperHelp viewer, which allows Help requests to be forwarded to HyperHelp, an external WinHelp emulator under which the Kylix Help files are viewed, and the Man page viewer, which allows you to access the Man system installed on most Unix machines. Because it is necessary for Kylix Help to work, the HyperHelp viewer may not be removed; the Man page viewer ships in a separate package whose source is available in the examples directory.

To install a new Help viewer in the IDE, you do exactly what you would do in a VCL or CLX application, with one difference. You write an object that implements ICustomHelpViewer (and, if desired, IExtendedHelpViewer) to forward Help requests to the external viewer of your choice, and you register the ICustomHelpViewer with the IDE.

To register a custom Help viewer with the IDE:

1 Make sure that the unit implementing the Help viewer contains HelpIntfs.pas.

2 Build the unit into a design-time package registered with the IDE, and build the package with runtime packages turned on. (This is necessary to ensure that the Help Manager instance used by the unit is the same as the Help Manager instance used by the IDE.)

3 Make sure that the Help viewer exists as a global instance within the unit.

4 In the initialization section of the unit, make sure that the instance is passed to the RegisterHelpViewer function.

Was this article helpful?

+1 0

Post a comment