Salut, voici une solution:
L'astuce est qu'il faut charger la configuration du groupware avant d'ouvrir la fenetre ou les droits vont s'appliquer.
Pour cela nous utiliserons une fenetre invisible.
Procédure à suivre:
1°) intégrer le Groupware utilisateur comme suit :
2°) Créer les groupes et utilisateurs "CON" pour connexion et "DEC" pour deconnexion en prenant soin de modifier les droits de "DEC" grisage des options du menu.
3°) codes des fenetres
Initialisation du projet:
gslogin est une chaîne="DEC"
gspassword est une chaîne=""
---------------------------------------------
Créer FEN_Menu_Test correspond à ta fenetre avec les options de menu
Déclarations globales de FEN_Menu_Test:
SI gpwRecupInfoUtilisateur(gpwInfoLogin)="DEC" ALORS
Menu_Test.Déconnection..Etat=Grisé
Menu_Test.Connexion..Etat=Actif
SINON
Menu_Test.Déconnection..Etat=Actif
Menu_Test.Connexion..Etat=Grisé
FIN
-----------------------------------------------
Créer FEN_Initiale :
mode invisible
1ere fenetre du projet
Déclarations globales de FEN_Initial :
// ouverture de la fenêtre de login du groupware utilisateur
nRes est un entier= GPWLogin(gslogin,gspassword)
// si le login a échoué
SI nRes <> gpwOk ALORS
SELON nRes
CAS gpwErreur : Erreur ( "Erreur à l'initialisation du groupware." )
CAS gpwUtilisateurInconnu : Erreur ( "Utilisateur inconnu." )
CAS gpwMotPasseInvalide : Erreur ( "Mot de passe invalide." )
FIN
FinProgramme ()
SINON
Utilise(FEN_Menu_Test)
FIN
------------------------------------------------
Sélection de Menu.Connexion :
gslogin="CON"
gspassword=""
Ouvre(FEN_Initiale)
Sélection de Menu.deconnexion :
gslogin="DEC"
gspassword=""
Ouvre(FEN_Initiale)