Delphi component help integration

...Without the OpenHelp Utility (oh.exe)

If you are using a Personal or Standard edition of Delphi you will find that you do not have the OpenHelp utility which simplifies the integration of third party component help files into the main Delphi help. The following details how to manually replicate the process. I'll use the JEDI VCL help as an example.

 

STEP 1 - CREATE THE "TABLE OF CONTENTS FILE(S)" (*.toc)

  • Take the JVCL.CNT File open it with a text editor.
  • Delete any :INCLUDE lines.
  • Save it as JVCL.toc
  • (Repeat this for each relevant *.CNT file )

STEP 2 - CREATE THE OHContents FILE (*.ohc)

Lists the files that will appear in the master table of contents.

  • Create a new text file and add the line
  • ":INCLUDE JVCL.toc" (without the quotes)
  • (add this line for each *.toc created in step 1)
  • Save the file as JVCL.ohc

STEP 3 - CREATE THE OHIndex FILE (*.ohi)

Lists the files that will be available through in the index.

  • Create a new text file and add the line
  • ":INDEX JEDI-VCL 2.0 help system=JVCL.HLP" (without the quotes)
  • The "JEDI-VCL 2.0 help system" part is the help file title as displayed in the title bar. and appears to be optional
  • (add this line for each relevant *.hlp)
  • Save the file as JVCL.ohi

STEP 4 - CREATE THE OHLinks FILE (*.ohl)

Lists the files in the context-sensitive Help search range that will be available through pressing F1

  • Create a new text file and add the line
  • ":LINK JVCL.HLP" (without the quotes)
  • (add this line for each relevant *.hlp)
  • Save the file as JVCL.ohl

STEP 5 - ADD THE FILES TO THE MASTER HELP FILE

  • Open the delphi*.cnt file with a text editor and add the following lines..

:INCLUDE JVCL.ohc
:INCLUDE JVCL.ohi
:INCLUDE JVCL.ohl

  • Save the file.
  • Then delete the delphi*.GID file (this is recreated when help is restarted)
  • Hopefully the help files will be included when you next open the help.

If you fail to get context-sensitive(F1) help for the components it seems you should repeat step 5 with the del*VCL.CNT file.

Watch if you use Notepad it'll probably add .txt after any unregistered file extension you choose to save with.

Note : It is possible to miss out the creation of the *.oh* files and add the various :INCLUDE, :LINK & :INDEX statements directly to the Delphi*.CNT file.
However this method is tidier and (AFAICS) compatible with current Delphi practice.

If you find any mistakes in the above or know a better way. This email address is being protected from spambots. You need JavaScript enabled to view it.