Nouveau module

Code WLangage
Un module est un composant (externe) Windev.

Configuration Windev

  • Description du projet > Options > Charte de programmation > Ajouter automatiquement les préfixes
  • Configurations > Général > Options du composant > …

    Droits d’accès

    Le composant n’accèdera pas aux fichiers de données, fenêtres, etc.

    Contexte d’exécution global.

    Style

    NE PAS autoriser l’application du gabarit par le projet client

Eléments partagés

  • Importer les composant externes Lambique et LambiqueGlobal

    Répertoire « GDS:Composants ».

    Ne pas importer depuis le répertoire d’un autre composant !

  • Partager la collection de procédures COL_LambiqueShared depuis n’importe quel composant du GDS qui contient cette collection.

    Normalement, tous les composants doivent partager cette collection sauf LambiqueGlobal.

Initialisation principale

EXTERNE "KeyConst.WL"

GExceptionManager.Initialiser()

gpclPath est un CPath dynamique = allouer un CPath
gpclEtat est un CEtat dynamique = allouer un CEtat

<BLOC Interfaces (facultatif)>
    giMonEntite est un IMonEntite
    giUtilisateurCourant est un IUtilisateur
<FIN>

COL_LambiqueBox.InitialiserGlobal()

GExceptionManager remplace la gestion des exception par défaut par une gestion des exception personnalisée.

Les interfaces IMonEntite et IUtilisateur sont définies dans la procédure globale partagée COL_LambiqueShared.

Procédure InitialiserGlobal

InitialiserGlobal() doit obligatoirement être défini dans une collection de procédure nommée COL_LambiqueNomDuComposant.

PROCÉDURE InitialiserGlobal()

SI EnModeTest() ALORS
    SI PAS EtablirConnexionAvecBaseDonnee() ALORS
        FinProgramme()
    FIN

    COL_Lambique.InitialiserGlobal()
    EnregistrerComposantExterneDansGlobal(LAMBIQUE_Entities)
    EnregistrerComposantExterneDansGlobal(LAMBIQUE_Materials)
    EnregistrerComposantExterneDansGlobal(LAMBIQUE_Files)
FIN

<BLOC Définitions>
    GDefinition.AjouterComposant((chaîne) MCOArticleCompose,(chaîne) PCOArticleCompose,"FI_COArticleCompose","LambiqueBox","MCOArticleCompose")
    //GDefinition.AjouterComposant((chaîne) MCOManuel,(chaîne) PCOManuel,"FI_COManuel","LambiqueBox","MCOManuel")
    GDefinition.AjouterComposant((chaîne) MCOManuel,(chaîne) PVue,"FI_Vue","LambiqueBox","MCOManuel")
    GDefinition.AjouterComposant((chaîne) MCOMetreLigne,(chaîne) PCOMetreLigne,"FI_COMetreLigne","LambiqueBox","MCOMetreLigne")
    GDefinition.AjouterEnsemble((chaîne) MENManuel,(chaîne) PENManuel,"FI_ENManuel","LambiqueBox","MENManuel")
    GDefinition.AjouterEnsemble((chaîne) MENMetreLigne,(chaîne) PENMetreLigne,"FI_ENMetreLigne","LambiqueBox","MENMetreLigne")
    GDefinition.AjouterEnsemble((chaîne) MENMetreLigneListe,(chaîne) PENMetreLigneListe,"FI_ENMetreLigneListe","LambiqueBox","MENMetreLigneListe")
<FIN>

<BLOC Interfaces globales au composant>
    giMonEntite <- GGlobal.GInstance(GMonEntite).Get()
    giUtilisateurCourant <- GGlobal.GInstance(GUtilisateurCourant).Get()
<FIN>

Le code « définitions » peut être généré automatiquement avec l’outil Lambique Tools.

GetVariable/Composant/Ensemble

Localisation : COL_LambiqueNomDuComposant

PROCÉDURE GetVariable(LOCAL pclData est un objet dynamique)

RENVOYER COL_LambiqueShared.GetVariable(pclData)

PROCÉDURE GetComposant(LOCAL pclData est un objet dynamique)

RENVOYER COL_LambiqueShared.GetComposant(pclData)

PROCÉDURE GetEnsemble(LOCAL pclData est un objet dynamique)

RENVOYER COL_LambiqueShared.GetEnsemble(pclData)

FEN_Menu

Traitement « Fin d’initialisation de FEN_Menu ».

MaFenêtre..ImageFond = giMonEntite.m_sFichierFondEcran
Message(GConnexion.p_sInfo)
GMenu.AjouterMenuOption()