UpsKrn.Module.NouvelObjet

Fonction NouvelObjet(InterfaceAImplementer : Type) Retourner Objet; La méthode NouvelObjet permet de créer un nouvel objet d'un type public appartenant au module, ce type implémentant l'interface demandée et ayant un constructeur implicite. Si deux types remplissent le critère de sélection, le premier est retenu.

Si le module ne possède pas de type remplissant le critère de sélection, l'exception est InterfaceNonImplemetee envoyée.

Module M1

Public :
/******/
Interface IA
/**********/
Fin Interface

Principal
/*******/
Variable
/******/

Debut
...
M=Module("M2");
/* Le module M2 est chargé dynamiquement. */
A=M.NouvelObjet(IA);
/* Création d'un objet d'un type de M2 implémentant IA. Le type sélectionné est TA. */
A.Ecrire();
/* Usage de l'objet venant du module M2. */
...
Fin Principal

Module M2

ImporterModule
/************/

Public :
/******/
Type TA Implemente M1.IA
/**********************/
Fin Type

/****************************************************************/
Procedure TA.Ecrire()
/* Objet : Procédure quelconque. */
/****************************************************************/
Debut
Ecran.Ecrire("Bonjour le monde !");
Fin Procedure

Traduction

---------