From RAD Studio API Documentation
Jump to: navigation, search

Implements the wrapper for the WinHelp function API. The WinHelpViewer unit is deprecated--please use Vcl.HtmlHelpViewer instead.

Package vcl.bpl


IWinHelpTesterMethods of this interface help to maintain and analyze help files and lists of keywords, ALinks, context IDs, and help topics, which can be used in requests to the Windows WinHelp help API function.
The VCL does not provide the implementation of this interface. If you need to support its functionality, you must implement IWinHelpTester in your application.


ViewerNameThe ViewerName variable stores a string that the Help Manager can use to identify this Viewer to choose among registered Viewers.
WinHelpTesterThe WinHelpTester variable stores the created object of the type IWinHelpTester.


The WinHelpViewer unit implements the wrapper for the Windows WinHelp function API. Microsoft has deprecated WinHelp. WinHelp is not supplied with Windows Vista or Windows 7. Therefore, the WinHelpViewer unit is deprecated! Use Vcl.HtmlHelpViewer instead.

WinHelpViewer wraps the WinHelp API features in the private TWinHelpViewer class, declared in the implementation section. The TWinHelpViewer class implements help interfaces declared in the System.HelpIntfs unit. HelpIntfs provides the series of interfaces, which allow the help system to communicate between help requests in your application and an external help viewer like HTMLHelp or WinHelp.

To access methods of the private TWinHelpViewer class from other units, the initialization section of this unit creates the HelpViewer object of this class and calls the global System.HelpIntfs.RegisterViewer function to register the Help Manager. The global System.HelpIntfs.GetHelpSystem function, from the HelpIntfs unit, can retrieve Help System objects of the registered HelpViewer. Then code in other units can access methods of the retrieved Help System objects.

To use the WinHelp help viewer in your application, include the WinHelpViewer unit in the uses section of the main unit (or into another proper unit) of your application. However, because Microsoft has deprecated the WinHelp viewer, we recommend that you use Vcl.HtmlHelpViewer instead.

initialization section

The initialization section of the WinHelpViewer unit provides the following initialization:

 HelpViewer := TWinHelpViewer.Create;
 HelpIntfs.RegisterViewer(HelpViewerIntf, HelpViewer.FHelpManager);


  • The TWinHelpViewer.Create constructor in the first line internally creates the Help Viewer object HelpViewerIntf of the TWinHelpViewer class and stores it in the HelpViewer variable.
  • The second line calls the global System.HelpIntfs.RegisterViewer function that registers the created Help Viewer.

The global System.HelpIntfs.GetHelpSystem function can be called from other units to access methods of Help Systems from the registered Help Viewer.

See Also