Probleme avec GetPrivateProfileString

Signaler
Messages postés
26
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2008
-
Messages postés
26
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2008
-
bonjour,

j'ai fais un petit programme teste pour lire d'un fichier ini, sur le test ça marche impécable !!!

mais lorsque je l'integre à mon application

je me terouve avec : NOMserveur = default !!! pourtant dans le teste ça marche avec le même code
dim NC  as long
Ret = String(255, 0)
    NC = GetPrivateProfileString(App.Title, "NOMServeur", "Default", Ret, 255, Chemin_INI)
    If NC <> 0 Then NOMServeur = Left$(Ret, NC)

6 réponses

Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
 Bonjour,

NC = GetPrivateProfileString(App.Title, "NOMServeur" , "Default", Ret, 255, Chemin_INI)
    If NC <> 0 Then NOMServeur = Left$(Ret, NC)

Je ne suis pas certain que ton problème vienne de là mais tu utilises une fois NOMServeur entre guillemets (=chaine de texte) et une fois en tant que variable dans la deuxième ligne.
Si dans ton fichier ini il n'y a pas de clé nommée "NOMServeur", il est normal que tu récupère "Default" puisque c'est la valeur définie par défaut.
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Le souci vient du fait que dans le fichier INI dont le chemin est dans le variable Chemin_INI, il n'y a pas de clé nommée "NOMServeur" dans une section dont le nom est ce que vaut App.Title.
Si ca fonctionne bien dans un projet de test et pas dans ton projet, je suppose que :
- soit le chemin d'accès au fichier INI n'est pas le bon.
- soit il n'y a pas de section avec le bon nom dedans.
- soit il n'y a pas la clé "nomserveur" dedans.
- Soit cette clé est vide : "nomserveur="
Dans tous les cas, pose un point d'arrêt sur ta ligne d'appel à l'API GetPrivateProfileString() et vérifie les valeurs contenues dans Chemin_INI puis App.Title. Vérifie que le chemin est correcte : tu copies la valeur et tu vas dan la boite d edialogue "Executer" du menu Démarrer, tu colles ce que tu as copié et tu cliques sur le bouton "OK". tu verras bien si notepad s'ouvre bien avec ton fichier INI. Ensuite utilises l'outils de recherche de notepad pour trouver la section (en copiant la valeur de App.Title depuis la fenêtre espion de l'IDE VB. Et ensuite, cherches la clé "nomserveur" dedans.
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
donne nous le contenu de ton fichier INI...
Messages postés
26
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2008

Mon fichier INI
[Projet1]
NOMServeur=BCNSSQL022\rec_gie
Base=HAPLUSETDE
User=haplusgie
Pass=¥¨¥�B;�1F;�7;

sinon mieux je vous donne le sources carrément   http://www.partage-facile.com/108572-LE_BON_16012007.rar.html

parce que moi je suis saturé là
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
ATTENTION !!! La valeur de App.Title est "Project1" ! Dans ton ini, tu sembles avoir juste "Projet1" !! Il manque un 'c' !
Messages postés
26
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2008

Salut !!!
J'aaaaaaaaaaai trouvé l'érreur !!!
s'été ma section
merci