[Lazarus] Help on FCL?

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Jan 21 01:22:03 CET 2012


Mattias Gaertner schrieb:

>> Would it help to add a dummy package (or project?) with all (relevant) 
>> FCL units?
> 
> You mean in the fpc sources?
> Yes, such dummy packages would help the IDE to find out which unit
> belongs to the FCL, which one to RTL, etc.
> It could also setup the unit and include paths. Although I'm not sure
> if the include file names are unique enough to use only one lpk for
> the whole FCL.

The fpdoc projects include the commandline arguments needed to parse the 
units.

> Of course it can not be used for compiling, because for that you need
> one lpk per output directory.

This must be handled inside the help system. When (application) projects 
are created, e.g. RTL.lpi and FCL.lpi, there shouldn't exist a need to 
compile and load according packages into the IDE.

> The alternative would be to store such dummy packages in the Lazarus
> sources, but then it needs conditionals for every FPC version.

Version problems may arise, but I don't think that RTL/FCL units are 
moved around in future versions, so that the projects will stay valid 
across FPC versions.


>> Then an help author can add more units to that package, when adding docs 
>> on further FCL units?
> 
> Yes.
> 
>  
>>> The chmhelppkg package extends/overrides some of these settings.
>>> Maybe the chm authors can give some clues about the chm parts.
>> Existing chm files seem to work off-the-shelf, I see no need for special 
>> updates there. The critical points are how F1 finds the (CHM/HTML) file 
>> for a unit, and how FPDoc Editor finds the XML file.
> 
> The IDE passes the information of the unit file name, the fpdoc
> element path and the Lazarus package name of the unit to the chm
> help database. I don't know what the chm db does with that.

Hmm, I'd assume that the supplied package name selects the chm file to 
load. This requires that the name matches the *fpdoc* package name, 
regardless of Lazarus package names.

> The fpdoc editor has the same information, additionally searches all
> ancestors and uses all this to search in the fpdoc paths of the
> package(s) and the IDE.

FPDoc Editor searches for the XML docs, which must reside in the fpdoc 
path of the package or project. Most proably it's also assumed that the 
xml file name matches the unit name. That's the only information that 
the FE can use to create new xml files.

DoDi





More information about the Lazarus mailing list