View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0032325||FPC||Documentation||public||2017-08-24 09:19||2018-05-20 20:05|
|Reporter||wp||Assigned To||Marco van de Voort|
|Summary||0032325: (fpdoc) Index of Lazarus chm help files defective|
|Description||Double-clicking on most items on page "Index" of LHelp does not open the corresponding help page although it is present.|
|Steps To Reproduce||Run lhelp|
Open lcl.chm (usually in Lazarus/docs/chm)
Select page "Index"
In the search box, type "TStringGrid" to search the help for this control.
Double click on "Align" in the tree node which opens as a child of the "TStringGrid" item.
Nothing happens, the status bar displays "ms-its:lcl.ch,::/grids/tstringgrid.alig.html not found".
But this page really does exist:
Select page "Contents"
In the left tree of help items, navigate to "Classes and Objects, by Unit" > "Grids" > "TStringGrid".
In the right part of the window click on the link to "Align" - it works!
Some help items do work on the "Index" page:
Return to page "Index"
Double-click on "OnEditingDone" (of node "TStringCellEditor") which is two lines above the "TStringGrid" item --> it works
|Tags||No tags attached.|
|Fixed in Revision||39065|
Does the node open if you just open the CHM in Windows help viewer? Would make it clearer if it was a lhelp or a fpdoc problem.
And which lcl chm do you use exactly?
> Does the node open if you just open the CHM in Windows help viewer? Would make it clearer if it was a lhelp or a fpdoc problem.
Double-clicking the node in the same way using the Windows-interal chm viewer, I get a similar effect, just the message is different, saying (translated from German): "No access to this page - make sure that the web address //ieframe.dll/dnserrordiagoff.htm# is correct / seek this web page using Bing / Update page"
> And which lcl chm do you use exactly?
I used the chm which comes with Lazarus 1.8RC4, but used also the one which comes with Laz 1.0 and it shows the same effect. It also does not matter whether I use the LHelp of Laz1.8RC4 or Laz1.0.
Peeking into the structure of the lcl.chm file I get this result:
Index file Default.hhk has a node "Align property" underneath the LI of TStringGrid (beginning at line 174240) - this link points to the file "grids/tstringgrid.align.html". Looking for it in folder grids I cannot find it.
For the functional link on the Contents page, however, I find this: In file Default.hhc there is a LI node "grids" (line 1892) with a subnode for the TStringGrid pointing to file "grids/tstringgrid.html" (line 1956). In this context there is no reference to the Align property. A link to "Align" appears in the html file tstringgrid.html where it points to file "../controls/tcontrol.align.html" (line 45). And this file does exist.
So I think, the observation in my report is just a consequence of the fact that the help of TStringGrid has not been written for every item (I can't check this because I don't have the xml files at the moment).
The questions, maybe, are: Why do non-existing help topics appear in the Index? And: Couldn't the help topics of inherited items be made to point to the correct ancestor item (like the link in the stringgrid.html file does).
===> move to fpc since it is fpdoc and not lhelp or the way of generation related.
I'm home and checked, and indeed. The code of the index generation looks very simple and is mostly a loop around a general fpdoc/html function. Maybe something changed there.
Probably needs to be compared to the code that generates the class overview (since there inheritance is treated right, as already mentioned on lazarusforum.de)
Also it is possible it is not noticable in FPC chms because those default to no generation of code for empty nodes (IOW empty nodes don't exist)
fpdocbug32325.zip (3,264 bytes)
I've started working on this yesterday and initially got nowhere in my attempt to reproduce with a small program (ran into different bugs even).
Now I can reproduce. Since it is only 4kb, I'll attach it to this project since it is interesting to have for future reference.
The problem is that my makeskel runs didn't create back links in the element like in grids.xml, so I had roughly the same structure but not the problem.
<element link="#bug32325.paren.TXControl.Align" name="TXStringGrid.Align">
Probably some logic of addhtmllink resolves this, but because the generateindex code doesn't use html href tags, it doesn't use it. I'll try to patch a version of addhtmllink for local usage in dw_chm.inc that only gives back the link target and use that. It might solve some other index problems too.
Hopefully 4000+ cases of this issue (TStringgrid.align) fixed.
Experimental CHMs at http:/www.stack.nl/~marcov/new304/lcl-chm.zip which are linked against the newer FPC 3.0.4 chms at
As an experiment, the Lazarus CHMs were generated on Windows. Please report any anomalies. A log is included and contains a warning/hint to list the cases where the fix engages. If there are new problems check against the log if the relevant symbol was fixed.
Log looks like:
resolved:grids/tstringgrid.align.html to controls/tcontrol.align.html
The commited version minorly improved on the message.
||I downloaded the chm-zips from your site, copied them into the folder (lazarus)/docs/chm, and tested them following the "steps to reproduce" --> Yes, works fine now! Thank you.|
|2017-08-24 09:19||wp||New Issue|
|2017-08-24 09:20||wp||Steps to Reproduce Updated||View Revisions|
|2017-08-24 09:21||wp||File Added: lhelp.png|
|2017-08-24 14:10||Marco van de Voort||Note Added: 0102344|
|2017-08-24 15:08||wp||Note Added: 0102346|
|2017-08-24 15:09||wp||Note Edited: 0102346||View Revisions|
|2017-08-24 15:10||wp||Steps to Reproduce Updated||View Revisions|
|2017-08-24 15:49||wp||Note Added: 0102347|
|2017-08-24 15:50||wp||Note Edited: 0102347||View Revisions|
|2017-08-24 15:51||wp||Note Edited: 0102347||View Revisions|
|2017-08-24 20:18||wp||Note Edited: 0102347||View Revisions|
|2017-08-25 17:32||Marco van de Voort||Project||Lazarus => FPC|
|2017-08-25 17:34||Marco van de Voort||Note Added: 0102376|
|2017-08-25 17:34||Marco van de Voort||Summary||Index of Lazarus chm help files defective => (fpdoc) Index of Lazarus chm help files defective|
|2017-08-25 17:35||Marco van de Voort||Note Edited: 0102376||View Revisions|
|2018-05-12 21:28||Marco van de Voort||Assigned To||=> Marco van de Voort|
|2018-05-12 21:28||Marco van de Voort||Status||new => assigned|
|2018-05-20 15:20||Marco van de Voort||File Added: fpdocbug32325.zip|
|2018-05-20 15:25||Marco van de Voort||Note Added: 0108446|
|2018-05-20 19:09||Marco van de Voort||Fixed in Revision||=> 39065|
|2018-05-20 19:09||Marco van de Voort||Note Added: 0108452|
|2018-05-20 19:09||Marco van de Voort||Status||assigned => resolved|
|2018-05-20 19:09||Marco van de Voort||Resolution||open => fixed|
|2018-05-20 20:05||wp||Note Added: 0108454|
|2018-05-20 20:05||wp||Status||resolved => closed|