[Lazarus] Application context-sensitive help using the IDE/lhelp protocol was: Building help files: the nitty-gritty

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Thu Jul 19 10:34:43 CEST 2012

Reinier Olislagers wrote:
> On 17-7-2012 10:36, Reinier Olislagers wrote:
>> On 17-7-2012 10:15, Mark Morgan Lloyd wrote:
>> >From another outsider's view, wouldn't this be a solution:
>> 1. document the IPC mechanism used for communication between IDE and
>> lhelp so application developers can use it
> Added some notes on
> http://wiki.freepascal.org/IDE_Development#Working_8
> Although that page says: "This page contains notes for lazarus core
> developers about ongoing development." it seems like it can serve as
> documentation of realized development as well.
> See lazarus\components\chmhelp\democontrol for a project that
> demonstrates IPC communication.
> The source code
> (lazarus\components\chmhelp\packages\help\lhelpcontrol.pas) is quite
> legible... even for me ;)
> While I've submitted some more comments in issue 22467, I think it can
> serve very well as documentation for the protocol.
> AFAIU it could be used as-is in applications, perhaps aided by taking
> inspiration from the code in
> lazarus\components\chmhelp\packages\idehelp\lazchmhelp.pas
> Creating a component that includes lhelpcontrol added with some
> functionality from chmhelppkg should be quite doable.

I was working through stuff last night and could see where it was based 
on SimpleIPC, with the socket name passed as a parameter to the lhelp 
program. So provided that an app can grab F1 it doesn't look too bad.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the Lazarus mailing list