Documentation XML pour le code Delphi

De RAD Studio
Aller à : navigation, rechercher

Remonter à Sortie XML du compilateur


Les compilateurs Delphi peuvent générer de la documentation XML pour le code source compilé.

Pour activer cette fonctionnalité, sélectionnez Projet > Options > Compilateur Delphi > Compilation et activez l'option "Générer la documentation XML" sous Autres options.
Pour activer cette fonctionnalité sur la ligne de commande, exécutez le compilateur en ligne de commande en utilisant l'option --doc.

La documentation XML générée par le compilateur est créée à partir de la représentation interne du compilateur concernant les classes, les méthodes, les variables, et ainsi de suite. Ne la confondez pas avec la documentation XML que les compilateurs génèrent avec la documentation inline XML écrite manuellement.

Remarque : Vous pouvez générer de la documentation HTML pour un projet Delphi (ou C++) RAD Studio spécifique. Voir Génération de la documentation d'un projet.

Le format (schéma) du fichier XML est décrit dans Déclarations globales de sortie XML du compilateur.

Exemple

Le fichier C:\file.pas contient la définition d'une :

  • Enumération : TFocus.
  • Classe : TVideoCamera.

Enumération

Définition TFocus :

/// <summary>
/// For objects located closer than 10 meters, use fcNear;
/// otherwise use fcFar.
/// </summary>
TFocus = (fcNear, fcFar);

Documentation XML générée :

<const name="fcNear" type="TFocus" file="C:\file.pas" line="13">
  <value>
    fcNear
  </value>
</const>
<const name="fcFar" type="TFocus" file="C:\file.pas" line="13">
  <value>
    fcFar
  </value>
</const>
<enum name="TFocus" file="C:\file.pas" line="13">
  <devnotes>
      <summary>
      For objects located closer than 10 meters, use fcNear;
      otherwise use fcFar.
      </summary>
  </devnotes>
  <element value="0" name="fcNear" file="C:\file.pas" line="13" />
  <element value="1" name="fcFar" file="C:\file.pas" line="13" />
</enum>

Notez que les commentaires de la documentation XML sont inclus dans la documentation XML générée par le compilateur (voir les éléments devnotes).

Classe

Définition TVideoCamera :

TVideoCamera = class
private
  FFocus: TFocus;
public
  property Focus: TFocus read FFocus write FFocus;
  procedure SetFocus(ADistance: Integer);
end;

procedure TVideoCamera.SetFocus(ADistance: Integer);
begin
  if ADistance < 10 { meters } then
    FFocus := fcNear
  else
    FFocus := fcFar;
end;

Documentation XML générée (certains membres hérités de TObject ont été retirés pour plus de clarté) :

<class name="TVideoCamera" file="C:\file.pas" line="15">
  <ancestor name="TObject" namespace="System">
    <methodref name="Create" visibility="public" procflags="constructor">
    </methodref>
    <methodref name="Free" visibility="public">
    </methodref>
  </ancestor>
  <members>
    <field name="FFocus" type="TFocus" visibility="private" size="1" offset="4" file="C:\file.pas" line="17" />
    <property name="Focus" visibility="public" read="FFocus" write="FFocus" type="TFocus" file="C:\file.pas" line="19" />
    <procedure name="SetFocus" visibility="public" file="C:\file.pas" line="20">
      <parameters>
        <parameter name="ADistance" type="Integer" />
      </parameters>
    </procedure>
  </members>
</class>

Voir aussi