[fpc-pascal] fpdoc and linked elements

Michael Van Canneyt michael at freepascal.org
Tue Dec 4 17:22:39 CET 2012



On Tue, 4 Dec 2012, Graeme Geldenhuys wrote:

> Hi Michael (or anybody else that could help),
>
> I have a xml description file with the following elements.
>
> The first one (for ImageName property) which doesn't list the unit name
> in the link attribute, is never found by fpdoc. So the generated
> documentation ends up being blank. The second one where I explicitly
> mention the unit name, fpdoc does find the linked element, and correct
> documentation is generated.
>
> So I gather I am always supposed to use the syntax:
>
>   <unitname>.<class>.<property>

Normally, there are 2 syntaxes:

#package.unit.class.property

and

class.property

> What is strange, and I still can't find the issue in fpdoc, is that
> sometimes both syntax works. eg: yesterday I generated documentation and
> all linked docs worked. Today it doesn't.
>
> I've also stepped through the TFPDocEngine.FindDocNode() implementation,
> and when it gets to the iteration of the "uses lists", it only
> iterations 3 units, but fpg_button.pas there are 6 units listed in the
> interface section's uses clause.
>
> Also in the FindLinkedNode(), where it calls
>
>      FindDocNode(CurModule,ANode.Link);
>
> for ANode = TfpgButton.ImageName, the CurModule is pointing to the unit
> fpg_colorwheel.pas??? No wonder it never finds the
> TfpgBaseButton.ImageName element. Something seems seriously wrong in
> fpdoc somewhere.

Well, I've had some issues myself, but never managed to pinpoint the 
exact reason. Somehow, when trying to construct test cases, the problem 
does not pop up: it proves to be very elusive.

Michael.



More information about the fpc-pascal mailing list