Présentation de la structure d'un package

De RAD Studio
Aller à : navigation, rechercher

Remonter à Création et modification de packages


Les packages incluent les parties suivantes :

Noms des packages

Les noms de packages doivent être uniques dans un projet. Si un package a le nom Stats, RAD Studio génère un fichier source correspondant appelé Stats.dpk ; le compilateur génère un exécutable et une image binaire appelés respectivement Stats.bpl et Stats.dcp. Utilisez Stats pour vous référer au package dans la clause requires d'un autre package, ou lors de l'utilisation du package dans une application.

Clause Requires

La clause requires spécifie les autres packages, externes, utilisés par le package en cours. Un package externe inclus dans la clause requires est automatiquement lié lors de la compilation dans toute application utilisant le package en cours ou l'une des unités contenues dans le package externe.

Si les fichiers d'unité contenus dans votre package font référence à d'autres unités packagées, les autres packages doivent apparaître dans la clause requires de votre package, sans quoi vous devrez les ajouter. Si les autres packages sont omis de la clause requires, le compilateur les importera dans votre package comme 'unités contenues implicitement'.

Remarque :  La plupart des packages que vous créez nécessitent rtl. Si vous utilisez des composants VCL, vous devrez inclure également le package vcl.

Eviter les références de package circulaires

Un package ne peut contenir de références circulaires dans sa clause requires. Par conséquent :

  • Un package ne doit pas se référencer lui-même dans sa clause requires.
  • Qu'une chaîne de références doit se terminer sans référencer un package de la chaîne. Si le package A requiert le package B, alors le package B ne doit pas requérir le package A ; si le package A requiert le package B qui requiert le package C, alors le package C ne doit pas requérir le package A.

Gestion des références de package dupliquées

Les références en double dans la clause requires d'un package, ou dans la boîte de saisie Packages d'exécution, sont ignorées. Mais, pour la lisibilité du programme, il vaut mieux les supprimer.

Clause Contains

La clause contains identifie les fichiers unité à lier dans le package. Si vous écrivez votre propre package, placez votre code source dans des fichiers pas et incluez-les dans la clause contains.

Eviter l'utilisation redondante de code source

Un package ne peut apparaître dans la clause contains d'un autre package.

Toutes les unités incluses directement dans la clause contains d'un package, ou indirectement dans l'une de ces unités sont liées dans le package au moment de la compilation.

Une unité ne peut pas être contenue (directement ou indirectement) dans plusieurs des packages utilisés par une même application, y compris l'EDI. Cela signifie que si vous créez un package contenant l'une des unités de vcl (VCL), vous ne pourrez pas installer ce package dans l'EDI. Pour utiliser une unité déjà packagée dans un autre package, placez le premier package dans la clause requires du second package.

Voir aussi