[Lazarus] installing chm help

waldo kitty wkitty42 at windstream.net
Thu Feb 16 17:19:02 CET 2012


On 2/16/2012 10:48, Sven Barth wrote:
> Am 16.02.2012 16:23, schrieb waldo kitty:
>> On 2/16/2012 06:49, Mattias Gaertner wrote:
>>> On Thu, 16 Feb 2012 12:30:44 +0100
>>> Michael Schnell<mschnell at lumino.de> wrote:
>>>
>>>> On 02/15/2012 06:38 PM, Andrew Haines wrote:
>>>>> When you press F1 in lazarus it performs it's own search of what it is
>>>>> looking for. If it finds something it presents a list of possible
>>>>> results if there are more than one.
>>>> Where does Lazarus (I suppose you mean the IDE ) search ?
>>>
>>> It asks the registered help databases. See View / IDE internals /
>>> About IDE / help.
>>
>> "registered help databases"?? /when/ do they get registered?
>
> The IDE is registering these internally.

i understand that but the question is *when* does it do this... remember, i 
stated that lazarus was running with the chmhelppkg installed when i copied the 
chm files to the docs/html directory... i pushed the files in the background 
across my network from another machine to the machine where lazarus was 
running... what will it do if i remove those chm files while it is running?

there is nothing that states that you have to restart lazarus after putting the 
files in place so that these files can be registered...

>> so it is lazarus that is performing these digs into the chm files and
>> isn't locating these items that should already be documented in these
>> local documentation files (eg: write and writeln)... i guess now one
>> needs to figure out why... it could be one of two things, as far as i
>> can see...
>>
>> 1. the information simply is not in the chm (not good)
>>
>> 2. there is a coding or logic error leading to the miss
>>
>
> 3. The IDE can not correctly establish the context for Writeln, because it is
> not physically present in the source (the unit System).

which source? why would the IDE be looking in the system units source files? it 
can't do that on a binary only installed system where there are no sources for 
the system unit...

>> TBH, i'm still reading back over your words and am still rather surprised that
>> lazarus is doing this work instead of the help viewer... i would have thought
>> that it would have been the help viewer doing the work after lazarus told the
>> help viewer what to search for... this also explains why i cannot "back up" to
>> choose another db entry but have to exit the help viewer and perform the F1
>> hit again...
>
> Lazarus is doing this, because in theory (currently not possible*) you could
> have the following setup:
>
> * for LCL help use the online documentation
> * for RTL help use LHelp (CHM based)
> * for FCL help use DocView (INF based)
>
> All three help systems are registered to the IDE and for each you have added the
> corresponding files (e.g. rtl.chm and fcl.inf). Then the IDE will ask each help
> system whether it can provide help and in our example LHelp will answer with
> "Yes" for all identifiers that belong to rtl.chm.
>
> I know this example is rather artificial, but that is the purpose of this help
> system.
>
> Note: A more practical use case might be to add third party documentation that
> e.g is only available in CHM format, but for RTL, FCL and LCL documentation you
> normally use DocView...
>
> * This is because of at least two reasons:
> - the CHM package overrides all databases to itself
> - DocView does not yet have an integration package

this actually all does make sense... in its context... it does also explain why 
the help system is built the way it is... but it still doesn't explain why 
things that have been documented for years are not available in the official chm 
files... i assume they are available in the official html files but have not 
pulled that huge load down to find out... it likely would do me much good anyway 
because lhelp is all i currently have that i can use not to mention the space 
consumption on an already space tight machine :?




More information about the Lazarus mailing list