Un module statique à deux composants

Ce programme présente la déclaration d'un module statique à deux composants.

Les fichiers sources sont dans le répertoire ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/liba/.

Cet exemple nécessite d'avoir compilé libcde l'exemple du module chargé dynamiquement implémentant des interfaces.

Mode compilé

Commande de compilation

upscmp Source=liba.upl

Commande d'exécution

Voir l'exemple du programme utilisant un module statique et un module dynamique

Fichiers sources

Source du module

Source Module "Exemple de bibliothèque statique" Version 4.0.0 ModuleStatique;

Composant Dans "c:/up/exemples/liba1.upl";
Composant Dans "c:/up/exemples/liba2.upl";

Source du premier composant

Source Composant "Exemple de bibliothèque statique" Version 4.0.0 RattacherA "c:/up/exemples/liba.upl";

Constante
/*******/ Protege :
/*******/ Prive :
/*****/
Enumere
/*****/ Protege :
/*******/ Prive :
/*****/
Variable
/******/ Protege :
/*******/ Prive :
/*****/ Public :
/******/ Protege :
/*******/ Prive :
/*****/
Prive :
/*****/
Procedure ProA1C(A : Entier, B : Reel, C : EnuA1C)
/************************************************/
Debut
Ecran.Ecrire("Debut ProA1C");
Ecran.Ecrire(ConA1A);
Ecran.Ecrire(ConA1B);
VarA1A=A;
Ecran.Ecrire(VarA1A);
VarA1B=B;
Ecran.Ecrire(VarA1B);
VarA1I=C;
Ecran.Ecrire("Fin ProA1C");
Fin Procedure

Protege :
/*******/
Procedure ProA1B(A : Entier, B : Reel, C : EnuA1B)
/************************************************/
Debut
Ecran.Ecrire("Debut ProA1B");
Ecran.Ecrire(ConA1C);
Ecran.Ecrire(ConA1D);
VarA1C=A;
Ecran.Ecrire(VarA1C);
VarA1D=B;
Ecran.Ecrire(VarA1D);
VarA1H=C;
Ecran.Ecrire("Fin ProA1B");
Fin Procedure

Public :
/******/
Procedure ProA1A(A : Entier, B : Reel, C : EnuA1A)
/************************************************/
Debut
Ecran.Ecrire("Debut ProA1A");
Ecran.Ecrire(ConA1E);
Ecran.Ecrire(ConA1F);
VarA1E=A;
Ecran.Ecrire(VarA1E);
VarA1F=B;
Ecran.Ecrire(VarA1F);
ProA1C(A*2,B*2,EnuA1C_2);
VarA1G=C;
Ecran.Ecrire("Fin ProA1A");
Fin Procedure

Source du second composant

Source Composant "Exemple de bibliothèque statique" Version 4.0.0 RattacherA "c:/up/exemples/liba.upl";

Constante
/*******/ Protege :
/*******/ Prive :
/*****/ Enumere
/*****/ Protege :
/*******/ Prive :
/*****/
Variable
/******/ Protege :
/*******/ Prive :
/*****/ Public :
/******/ Protege :
/*******/ Prive :
/*****/
Prive :
/*****/
Procedure ProA2C(A : Entier, B : Reel, C : EnuA2C)
/************************************************/
Debut
Ecran.Ecrire("Debut ProA2C");
Ecran.Ecrire(ConA2A);
Ecran.Ecrire(ConA2B);
VarA2A=A;
Ecran.Ecrire(VarA2A);
VarA2B=B;
Ecran.Ecrire(VarA2B);
VarA2I=C;
Ecran.Ecrire("Fin ProA2C");
Fin Procedure

Protege :
/*******/
Procedure ProA2B(A : Entier, B : Reel, C : EnuA2B)
/************************************************/
Debut
Ecran.Ecrire("Debut ProA2B");
Ecran.Ecrire(ConA2C);
Ecran.Ecrire(ConA2D);
VarA2C=A;
Ecran.Ecrire(VarA2C);
VarA2D=B;
Ecran.Ecrire(VarA2D);
VarA2H=C;
Ecran.Ecrire("Fin ProA2B");
Fin Procedure

Public :
/******/
Procedure ProA2A(A : Entier, B : Reel, C : EnuA2A)
/***********************************************/
Debut
Ecran.Ecrire("Debut ProA2A");
Ecran.Ecrire(ConA2E);
Ecran.Ecrire(ConA2F);
VarA2E=A;
Ecran.Ecrire(VarA2E);
VarA2F=B;
Ecran.Ecrire(VarA2F);
ProA2C(A*2,B*2,EnuA2C_2);
ProA2B(A*3,B*3,EnuA2B_2);
ProA1B(A*4,B*4,EnuA1B_2);
VarA2G=C;
Ecran.Ecrire("Fin ProA2A");
Fin Procedure