Bonjour, est-ce que quelqu'un pourrai m'expliquer la différence entre ajouter uses avant ou après implementation
sur google je trouve rien
merci.
Bonjour, est-ce que quelqu'un pourrai m'expliquer la différence entre ajouter uses avant ou après implementation
sur google je trouve rien
merci.
la première différence est que si l'unité est déclarée en implémentation, son contenu ne peux pas être référencé dans la partie interface...l'intérêt étant généralement de briser une
référence circulaire.
Bonjour,
comme l'a indiqué Paul TOTH, les éléments des unités déclarées uses dans la partie implémentation ne peuvent être utilisés dans la partie interface.
C'est une contrainte mais elle permet un mécanisme d'initialisation (et aussi de finalisation) déterministe. En effet, les unités utilisés dans la partie interface seront initialisées AVANT l'unité les employant. Les référencements cycliques dans la section interface seraient alors un non-sens.
Dans la partie implémentation cette règle ne s'applique pas et les référencements cycliques sont permis (mais attention à ne pas utiliser une variable non initialisée).
Cf. Aide Delphi "programmes et unités"
(D'autres langages n'ont pas ce mécanisme, que je regrette à chaque fois que je fais du C++ )Section initialisation
La section initialisation est facultative. Elle commence par le mot réservé initialization et se poursuit jusqu'au début de la section finalisation ou, en son absence, jusqu'à la fin de l'unité. La section initialisation contient des instructions qui sont exécutées, dans l'ordre où elles apparaissent, au démarrage du programme. Si, par exemple, vous avez défini des structures de données devant être initialisées, vous pouvez le faire dans la section initialisation.
Pour les unités de la liste uses de la section interface, les sections initialization des unités utilisées par un client sont exécutées dans l'ordre de leur énumération dans la clause uses du client.
Merci pour vos explications. Je met résolu.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager