ImporterModule
ListeDeModulesImportes
ImporterModule
permet de spécifier que le composant ou la ressource courante utilise des définitions ou des traitements d'un ou de plusieurs modules. Les définitions ou les traitements accessibles à l'issue de l'importation sont uniquement ceux déclarés avec l'attribut Public.
Les chemins d'accès peuvent employer des variables environnement, des partitions montées automatiquement par Up ! System ou des Uniform Resource Identifier reconnues par Up ! System.
ImporterModule
utilise le fichier d'interface du module importé. Ce fichier a pour convention l'extension upi. Le fichier d'interface du module importé est donné par :
ImporterModule
utilise le fichier source de la ressource importée. Ce fichier a pour convention l'extension u* en format binaire et upl en format texte en Up ! 5GL. Le fichier source de la ressource importée est donné par :
Voici la matrice de compatibilité des importations :
Les définitions ou les traitements importés sont connus du composant ou de la ressource courante. Il est possible de les employer :
Pour les modules soumis à licence, i.e. ceux possédant l'attribut Licence dans leur interface de module, il est obligatoire de déclarer le mode d'usage du module importé par un des attributs LicenceExpresse, LicenceStandard ou LicenceEntreprise.
ImporterModule
/************/
A("c:\modules\a.upi");
/* Le module A est accédé par un chemin absolu. La variable entière VA est importée. Elle n'est pas directement utilisable. */
B(<b.upi>, ImporterDefinitions);
/* Le module B est accédé par un chemin relatif. La variable entière VB est importée. Elle est directement utilisable. */
C(<${DIR_IHM}/c.upi>);
/* Le module C est accédé par un chemin relatif utilisant la variable environnement DIR_IHM. La variable entière VC est importée. Elle n'est pas directement utilisable. */
D(<b.upi>, LicenceStandard);
/* Le module D est soumis à licence. Le niveau d'usage est standard. */
E("http://www.up-comp.com/modules/e.upl", ImporterDefinitions);
/* Le module E est accédé par une URI. L'image VE est importée. Elle est directement utilisable. */
Principal
/*******/
Debut
/* Usage de la variable de VA de A. Elle n'est pas accessible directement. */
A.VA=10;
/* Usage de la variable VB de B. Elle est accessible directement. */
VB=10;
/* Usage de la variable VC de C. Elle n'est pas accessible directement. */
C.VC=10;
/* Usage de l'image VE de E. Elle est accessible directement. */
Ecran.Ecrire(VE.NomImage);
Fin Principal
Echange "Exemple" Version 1.2.0 NePasOptimiserEchange;
ImporterModule
/************/
MesEmployes(<employe.upl>, ImporterDefinitions);
MesEmployes2(<employe2.upl>, ImporterDefinitions);
Echange MonEchange
/****************/
Debut
/* MesEmployes comporte le type Employe dont la définition est importée. */
Employe("scott",7724,1000.0);
Employe("allen",7832,1200.0);
Employe("smith",7948,1400.0);
/* MesEmployes2 comporte le type Employe2 dont la définition n'est pas importée. */
MesEmployes2.Employe2 Version 1.0.0 ("scott",7724,1000.0);
MesEmployes2.Employe2 Version 1.0.0 ("allen",7832,1200.0);
MesEmployes2.Employe2 Version 1.0.0 ("smith",7948,1400.0);
Fin Echange
- | - | - | - | - | - | - | - | - |