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
etLambiqueGlobal
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()