PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → ActiveX Novell et chaîne de caractères
ActiveX Novell et chaîne de caractères
Débuté par Christian Gstalder, 03 oct. 2005 17:28 - 4 réponses
Posté le 03 octobre 2005 - 17:28
Bonjour,

J'ai un problème que je ne comprends pas :

J'utilise les ActiveX Novell dont NWDirAuth (Novell Directory Authenticator
Control ) dans le but de valider et changer le mot de passe de
l'utilisateur.
La validation fonctionne sans problème. Par contre le changement de mot de
passe ne fonctionne que si je mets l'ancien et le nouveau mots de passe en
"dur". Si je mets des variables, j'ai simplement un code retour booléen à
Faux.

L'aide de la méthode ChangePassword donne comme syntaxe :

object.ChangePassword (NewPassword As String, [OldPassword As
String],[SubjectName As String])

La description de la méthode fournie par WDXView donne comme syntaxe :
Boolean ChangePassword(
[in] String NewPassword
[in][optional] Variant OldPassowrd
[in][optional] Variant SubjectName
)

Voici le code qui ne fonctionne pas :

NovellSession est un objet automation dynamique
NovellSession = allouer un objet automation "NWSessLib.NWSessCtrl.1"

NovellAuth est un objet automation dynamique
NovellAuth = allouer un objet automation "NWDirAuthLib.NWDirAuth.1"

//NouveauPassword est une chaine ASCIIZ sur 11
NouveauPassword est une chaîne
//VieuxPassword est une chaine ASCIIZ sur 11
VieuxPassword est une chaîne
VieuxPasswordV est un Variant

FullName est un Variant

FullName = NovellSession>>DefaultFullName + "\" + User
NovellAuth>>FullName = FullName

New_MDP = Minuscule(New_MDP)
Old_MDP = Minuscule(Old_MDP)

VieuxPassword = SansEspace(Old_MDP)
VieuxPasswordV = SansEspace(VieuxPassword)
NouveauPassword = SansEspace(New_MDP)

Mdp_Bon = NovellAuth>>ValidatePassword(VieuxPassword,FullName)

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)


Voici le code qui fonctionne :
Change_Ok = NovellAuth>>ChangePassword("testuser","toto",FullName)


Merci de votre aide
--

Christian Gstalder
Posté le 03 octobre 2005 - 19:11
bonjour,

perso, je ne vois pas l'intéret, bien au contraire, de mettre:
Change_OK =
> NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)

je verrais plutot: Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPassword,FullName)


cdt
jean-daniel


Christian Gstalder a formulé ce lundi :
Bonjour,

J'ai un problème que je ne comprends pas :

J'utilise les ActiveX Novell dont NWDirAuth (Novell Directory Authenticator
Control ) dans le but de valider et changer le mot de passe de
l'utilisateur.
La validation fonctionne sans problème. Par contre le changement de mot de
passe ne fonctionne que si je mets l'ancien et le nouveau mots de passe en
"dur". Si je mets des variables, j'ai simplement un code retour booléen à
Faux.

L'aide de la méthode ChangePassword donne comme syntaxe :

object.ChangePassword (NewPassword As String, [OldPassword As
String],[SubjectName As String])

La description de la méthode fournie par WDXView donne comme syntaxe :
Boolean ChangePassword(
[in] String NewPassword
[in][optional] Variant OldPassowrd
[in][optional] Variant SubjectName
)

Voici le code qui ne fonctionne pas :

NovellSession est un objet automation dynamique
NovellSession = allouer un objet automation "NWSessLib.NWSessCtrl.1"

NovellAuth est un objet automation dynamique
NovellAuth = allouer un objet automation "NWDirAuthLib.NWDirAuth.1"

//NouveauPassword est une chaine ASCIIZ sur 11
NouveauPassword est une chaîne
//VieuxPassword est une chaine ASCIIZ sur 11
VieuxPassword est une chaîne
VieuxPasswordV est un Variant

FullName est un Variant

FullName = NovellSession>>DefaultFullName + "\" + User
NovellAuth>>FullName = FullName

New_MDP = Minuscule(New_MDP)
Old_MDP = Minuscule(Old_MDP)

VieuxPassword = SansEspace(Old_MDP)
VieuxPasswordV = SansEspace(VieuxPassword)
NouveauPassword = SansEspace(New_MDP)

Mdp_Bon = NovellAuth>>ValidatePassword(VieuxPassword,FullName)

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)


Voici le code qui fonctionne :
Change_Ok = NovellAuth>>ChangePassword("testuser","toto",FullName)


Merci de votre aide



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Posté le 03 octobre 2005 - 21:33
Je suis d'accord mais j'ai tout essayé (Variant, chaîne, ASCIIZ), en partie
en raison de la description de la méthode fournie par WDXView et en partie
parce que ça plante si je ne définis pas la variable Fullname comme Variant.

Merci quand même
--

Christian Gstalder


"jean daniel" <ns_jean-daniel.hoarau@laposte.net> a écrit dans le message de
news:mn.1c077d5a6d897668.26715@laposte.net...

bonjour,

perso, je ne vois pas l'intéret, bien au contraire, de mettre:
Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)

je verrais plutot: Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPassword,FullName)

cdt
jean-daniel


Christian Gstalder a formulé ce lundi :
Bonjour,

J'ai un problème que je ne comprends pas :

J'utilise les ActiveX Novell dont NWDirAuth (Novell Directory

Authenticator
Control ) dans le but de valider et changer le mot de passe de
l'utilisateur.
La validation fonctionne sans problème. Par contre le changement de mot

de
> > passe ne fonctionne que si je mets l'ancien et le nouveau mots de passe
en
"dur". Si je mets des variables, j'ai simplement un code retour booléen

à
Faux.

L'aide de la méthode ChangePassword donne comme syntaxe :

object.ChangePassword (NewPassword As String, [OldPassword As
String],[SubjectName As String])

La description de la méthode fournie par WDXView donne comme syntaxe :
Boolean ChangePassword(
[in] String NewPassword
[in][optional] Variant OldPassowrd
[in][optional] Variant SubjectName
)

Voici le code qui ne fonctionne pas :

NovellSession est un objet automation dynamique
NovellSession = allouer un objet automation "NWSessLib.NWSessCtrl.1"

NovellAuth est un objet automation dynamique
NovellAuth = allouer un objet automation "NWDirAuthLib.NWDirAuth.1"

//NouveauPassword est une chaine ASCIIZ sur 11
NouveauPassword est une chaîne
//VieuxPassword est une chaine ASCIIZ sur 11
VieuxPassword est une chaîne
VieuxPasswordV est un Variant

FullName est un Variant

FullName = NovellSession>>DefaultFullName + "\" + User
NovellAuth>>FullName = FullName

New_MDP = Minuscule(New_MDP)
Old_MDP = Minuscule(Old_MDP)

VieuxPassword = SansEspace(Old_MDP)
VieuxPasswordV = SansEspace(VieuxPassword)
NouveauPassword = SansEspace(New_MDP)

Mdp_Bon = NovellAuth>>ValidatePassword(VieuxPassword,FullName)

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)


Voici le code qui fonctionne :
Change_Ok = NovellAuth>>ChangePassword("testuser","toto",FullName)


Merci de votre aide


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

Posté le 11 octobre 2005 - 13:23
Personne n'a vraiment une idée ???

--

Christian Gstalder


"Christian Gstalder" <cgstalde.spamno@chpg.mc> a écrit dans le message de
news:43411ddd$1@news.pcsoft.fr...

Bonjour,

J'ai un problème que je ne comprends pas :

J'utilise les ActiveX Novell dont NWDirAuth (Novell Directory

Authenticator
Control ) dans le but de valider et changer le mot de passe de
l'utilisateur.
La validation fonctionne sans problème. Par contre le changement de mot de
passe ne fonctionne que si je mets l'ancien et le nouveau mots de passe en
"dur". Si je mets des variables, j'ai simplement un code retour booléen à
Faux.

L'aide de la méthode ChangePassword donne comme syntaxe :

object.ChangePassword (NewPassword As String, [OldPassword As
String],[SubjectName As String])

La description de la méthode fournie par WDXView donne comme syntaxe :
Boolean ChangePassword(
[in] String NewPassword
[in][optional] Variant OldPassowrd
[in][optional] Variant SubjectName
)

Voici le code qui ne fonctionne pas :

NovellSession est un objet automation dynamique
NovellSession = allouer un objet automation "NWSessLib.NWSessCtrl.1"

NovellAuth est un objet automation dynamique
NovellAuth = allouer un objet automation "NWDirAuthLib.NWDirAuth.1"

//NouveauPassword est une chaine ASCIIZ sur 11
NouveauPassword est une chaîne
//VieuxPassword est une chaine ASCIIZ sur 11
VieuxPassword est une chaîne
VieuxPasswordV est un Variant

FullName est un Variant

FullName = NovellSession>>DefaultFullName + "\" + User
NovellAuth>>FullName = FullName

New_MDP = Minuscule(New_MDP)
Old_MDP = Minuscule(Old_MDP)

VieuxPassword = SansEspace(Old_MDP)
VieuxPasswordV = SansEspace(VieuxPassword)
NouveauPassword = SansEspace(New_MDP)

Mdp_Bon = NovellAuth>>ValidatePassword(VieuxPassword,FullName)

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)


Voici le code qui fonctionne :
Change_Ok = NovellAuth>>ChangePassword("testuser","toto",FullName)


Merci de votre aide
--

Christian Gstalder



Posté le 13 octobre 2005 - 18:16
En fait, c'était un problème de passage de paramètre par valeur et non par
référence. Après discussion avec le Support Technique, j'ai appris qu'on
pouvait passer un paramètre par valeur en le mettant entre paranthèse :

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,(VieuxPassword),FullName)


--

Christian Gstalder


"Christian Gstalder" <cgstalde.spamno@chpg.mc> a écrit dans le message de
news:4341574b$1@news.pcsoft.fr...
> Je suis d'accord mais j'ai tout essayé (Variant, chaîne, ASCIIZ), en
partie
en raison de la description de la méthode fournie par WDXView et en partie
parce que ça plante si je ne définis pas la variable Fullname comme

Variant.

Merci quand même
--

Christian Gstalder


"jean daniel" <ns_jean-daniel.hoarau@laposte.net> a écrit dans le message

de
news:mn.1c077d5a6d897668.26715@laposte.net...

bonjour,

perso, je ne vois pas l'intéret, bien au contraire, de mettre:
Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)

je verrais plutot: Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPassword,FullName)

cdt
jean-daniel


Christian Gstalder a formulé ce lundi :
Bonjour,

J'ai un problème que je ne comprends pas :

J'utilise les ActiveX Novell dont NWDirAuth (Novell Directory
Authenticator

Control ) dans le but de valider et changer le mot de passe de
l'utilisateur.
La validation fonctionne sans problème. Par contre le changement de

mot
de
passe ne fonctionne que si je mets l'ancien et le nouveau mots de

passe
en
"dur". Si je mets des variables, j'ai simplement un code retour

booléen
à
Faux.

L'aide de la méthode ChangePassword donne comme syntaxe :

object.ChangePassword (NewPassword As String, [OldPassword As
String],[SubjectName As String])

La description de la méthode fournie par WDXView donne comme syntaxe :
Boolean ChangePassword(
[in] String NewPassword
[in][optional] Variant OldPassowrd
[in][optional] Variant SubjectName
)

Voici le code qui ne fonctionne pas :

NovellSession est un objet automation dynamique
NovellSession = allouer un objet automation "NWSessLib.NWSessCtrl.1"

NovellAuth est un objet automation dynamique
NovellAuth = allouer un objet automation "NWDirAuthLib.NWDirAuth.1"

//NouveauPassword est une chaine ASCIIZ sur 11
NouveauPassword est une chaîne
//VieuxPassword est une chaine ASCIIZ sur 11
VieuxPassword est une chaîne
VieuxPasswordV est un Variant

FullName est un Variant

FullName = NovellSession>>DefaultFullName + "\" + User
NovellAuth>>FullName = FullName

New_MDP = Minuscule(New_MDP)
Old_MDP = Minuscule(Old_MDP)

VieuxPassword = SansEspace(Old_MDP)
VieuxPasswordV = SansEspace(VieuxPassword)
NouveauPassword = SansEspace(New_MDP)

Mdp_Bon = NovellAuth>>ValidatePassword(VieuxPassword,FullName)

Change_OK =
NovellAuth>>ChangePassword(NouveauPassword,VieuxPasswordV,FullName)


Voici le code qui fonctionne :
Change_Ok = NovellAuth>>ChangePassword("testuser","toto",FullName)


Merci de votre aide


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net