PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → .Net et Treeview
.Net et Treeview
Iniciado por 8-thomas, ago., 10 2005 7:23 PM - 3 respostas
Publicado em agosto, 10 2005 - 7:23 PM
Bonjour,
J'ai une application qui verifie l'identite en utilisant des dll .Net afin de permettre d'authentifier les utilisateurs via Active Directory.
Ceci fonctionne et figure sur plusieurs application.

Jusqu'ici tout va bien, sauf que sur mon application, dès que j'utilise l'assemblage .net, le drag and drop de mes treeview ne fonctionne plus.

Qui a une idée ?

Merci, thomas
Publicado em agosto, 17 2005 - 12:22 PM
Idée

S'assurer de bien utiliser la méthode Dispose sur les objets DotNet
lorsque ceux ci ne sont plus utilisés

[DrCharly93] wdforge.org

Thomas Rougelot a écrit :
Bonjour,
J'ai une application qui verifie l'identite en utilisant des dll .Net afin de permettre d'authentifier les utilisateurs via Active Directory.
Ceci fonctionne et figure sur plusieurs application.

Jusqu'ici tout va bien, sauf que sur mon application, dès que j'utilise l'assemblage .net, le drag and drop de mes treeview ne fonctionne plus.

Qui a une idée ?

Merci, thomas
Publicado em agosto, 17 2005 - 6:15 PM
Voici la procedure qui pose problème :


----------------------------------------------------------------------------------------

MonUser est un DirectoryEntry dynamique

// Création de l'objet .NET DirectoryEntry qui permet de se connecter à l'active directory
MonUser = allouer un DirectoryEntry ("LDAP://" + sAdresseServeur,sNomUser,sPassword)

// Nom de l'utilisateur (Propriété du directory entry)
sNomUtilisateur est une chaîne

// Pour vérifier si un mot de passe est valide, on doit tenter de se connecter à l'active directory
// et attraper les exceptions levées par le framework,
// Si on peut accéder à un membre sans qu'une exception ne soit levée, le mot de passe est valide
// sinon le mot de passe est invalide

QUAND EXCEPTION DANS
// tente d'accéder à la propriété Name de l'objet DirectoryEntry
// Bind to the native AdsObject to force authentication.
search est un DirectorySearcher(MonUser)
search:Filter = "(SAMAccountName=" + sNomUser + ")"
search:PropertiesToLoad:Add("cn")
SI Dimension(search:FindOne())=0 ALORS
RENVOYER Faux;
FIN
search:Dispose()
FAIRE
// Le mot de passe est invalide
// Réactivation des exceptions
ExceptionActive()
// on renvoie faux
RENVOYER Faux
FIN
MonUser:Dispose()
MonUser:Close()
MonUser:Dispose()
// Si on est ici, c'est qu'aucune exception n'a été levée
libérer MonUser
RENVOYER Vrai
Publicado em agosto, 25 2005 - 10:20 AM
Problème résolu en "cachant" un arbre inutilisé AVANT l'utilisation des assemblages .NET