[Lazarus] Building help files: the nitty-gritty

Graeme Geldenhuys graemeg.lists at gmail.com
Tue Jul 10 17:12:55 CEST 2012

On 10 July 2012 14:52, Mark Morgan Lloyd
<markMLl.lazarus at telemetry.co.uk> wrote:
> I normally build Lazarus from svn, targeting bigide, so I'm not sure that
> instructions that tell me to download prebuilt binary .chm files are
> relevant to me.

I may be wrong, but as far as I know doing a 'make bigide' will not
build the help files, just the LCL and IDE. Well that is how it works
here with 0.9.30.x - I don't know if Lazarus Trunk has changed this.

> b)  What is the easiest way of integrating .chm files for the RTL etc., to
> the extent that context-sensitive help works for things like Format()?

See, that is where CHM help lags behind, and why I mentioned INF some
time back. The way DocView integrates in the IDE (via the External
Tools menu, and not as a compiled in help-interface to the IDE), I can
get Object Pascal language help no problem. The CHM help (and the
other compiled help-interface addons to Lazarus IDE) only works well
for class / API help. The built-in Indexing and Full Text Search of
INF help makes in a no-brainer to find the correct help topic from a
keyword search.

You must remember that there is a difference between FPC's Language
Syntax help (built from LaTex and primarily targets PDF output) and
the Class / API help (built from XML files).

> Finally, if I just want to add a few lines of plain text as
> context-sensitive help for a control or form, with the main documentation

Which one is it? Control or Form?  If it's a Control, then it falls
under the Class / API help, which means XML files must be edited. If
it is a Form (as in application help describing a dialog in your
application), then it's something else. For the latter case, I don't
actually know what is the recommendation for application help with LCL
based applications. For fpGUI based applications, it is an IPF
plain-text file (the help source which gets compiled into binary INF

If you are referring to the help viewer, then again, that is where
LHelp lags behind. DocView allows you to annotate (add inline
comments) any INF files. Those annotations are stored in a separate
file (<helpfile>.notes), which you can move around or copy with the
INF file to a new computer if you want. LHelp has no such

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the Lazarus mailing list