[Lazarus] Building help files: the nitty-gritty
nc-gaertnma at netcologne.de
Thu Jul 19 09:12:34 CEST 2012
Graeme Geldenhuys <graemeg.lists at gmail.com> hat am 18. Juli 2012 um 19:53
> > I think Reinier and I are saying that the need in the current case is how to
> > intercept F1 and recover an associated keyword, and how to pass that keyword
> > to lhelp.
> Surely the "capturing of the F1 key press" functionality already
> exists in LCL? I also see TControl.HelpType, TControl.HelpContext,
> TControl.HelpKeyword and Application.HelpFile properties... Are they
> just for show (not functional yet)?
They do work.
See here an example with HTML pages:
> Another problem I spotted was with the Application.HelpCommand()
> signature. It's got the signature designed by Borland Delphi v1
> (somewhere around then) for the use with the very old WinHelp help
> viewer and the long discontinued .HLP files.
function HelpCommand(Command: Word; Data: PtrInt): Boolean;
function HelpContext(Context: THelpContext): Boolean;
function HelpKeyword(const Keyword: String): Boolean;
The Keyword can be an arbitrary string. In the HTML viewer it is the path behind
> I've already raised this> issue some years back, but received my usual answer
> that it will not
> be changed - go figure. Anyway, a more sane signature for
> Application.HelpCommand() would be like Delphi & Kylix defined it for
> the CLX framework. As a matter of fact, the help system for CLX was
> designed to be cross-platform and uses Interfaces to be very flexible.
> It is probably the cleanest help system design I have ever seen, and
> it supports multiple help viewers too. Kylix even came with two
> reference implementations - a Man Page viewer and a HyperHelp viewer.
The current help system knows viewers and databases (= sources). It's not clx
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Lazarus