Fonctionnement des relations UNIT, INCLUDE, USES
Bonjour,
Je suis nouveau sur le Free Pascal, et j'aurais souhaité des précisions sur le comportement et l'utilisation du système UNIT et USES.
En effet, comme sous chaque langage de programmation, j'utilise des modules pour pouvoir constituer des fonctions ou des objets. J'en ai des communs et d'autres spécifiques pour chaque plateforme.
J'étais parti sur le fait de créer un module (en FPC c'est UNIT), qui rassemble d'autre sous-modules permettant de découper les différentes catégories de fonctions ou de classes par thèmes.
Malheureusement, je n'arrive pas à maîtriser la notion de module, qui est assez floue pour moi.
En effet, j'aimerais à chaque programme que je crée pouvoir juste ajouter un fichier de tête qui rassemblerait l’ensemble de mes sous-modules.
Dans ce fichier de tête, du coup, j'aimerais charger en fonction des plateformes des sous-modules spécifiques pour Windows, Linux, Mac, Raspberry.
J'ai essayé plusieurs combinaisons mais je n'ai jamais le résultat obtenu car il faut toujours spécifier le même nom que le fichier.
Donc plusieurs questions me viennent à l'esprit :
Comment peut-on faire pour faire un décalage de chemin dans l'insertion d'un fichier Module (UNIT) ?
Y a-t-il un autre équivalent que Unit comme un "namespace" par exemple ?
Comment, avec ce comportement, le fait de charger plusieurs fichiers avec des fonctions inutilisées, est-ce que le compilateur fait une différence entre fonction ou procédure utilisée ou non ?
Est-il possible de faire une Unit sur plusieurs fichiers ?
Merci d'avance pour l'aide
[MAD]
Fonctionnement des relations UNIT, INCLUDE, USES
Bonjour, :D
Beaucoup de détails intéressants, et peu cités. Deux questions simplement:
1°) À propos du nom des unités:
Citation:
Envoyé par
Alcatîz
... La notion de namespace peut être simulée en Pascal. Un nom d'unité peut être composé de deux parties :
...
Les chaînes 'xxx.yyy' et 'xxx.zzz' se rapportent-elles à deux unités distinctes, ou deux identificateurs de la même unité 'xxx' ?
2°) L'inclusion d'un fichier:
Citation:
Envoyé par
Alcatîz
... en utilisant la directive include :
...
peut-elle remplacer avantageusement celle d'une unité, quand elle ne contient qu'un petit nombre d'instructions ? Je pense à des consignes de routine: renommage de types, opérations mathématiques élémentaires (incrémentation d'un réel ou d'un entier au format Comp) ...
Merci pour les infos !
PS: C'est en finalisant le message que je m'aperçois que le sujet remonte à bientôt huit semaines :oops:.
Cela m'avait totalement échappé.
Fonctionnement des relations UNIT, INCLUDE, USES
Cela fonctionne effectivement avec Free Pascal, et peut contribuer à une meilleure présentation du programme source.
Je retiens ces détails.
Par contre, cela ne marche pas en Virtual Pascal, qui refuse la présence d'un point dans le nom de l'unité - ce n'est pas très grave.
Un blocage déjà constaté depuis longtemps est cependant réapparu, et j'en reparlerai sur un autre sous-forum.
Merci pour toutes les explications :D