Salut,
Dans une de mes fonction je vais lire dans un fichier *.ini grace à la classe CDataFile, qui fonctionne trés bien :
Ici, MonFichier.ini est dans le répertoire de mon projet et cela fonctionnais nickel...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CDataFile* Init= new CDataFile("MonFichier.ini"); Donnee = Init->GetProfileInt(MySection, MyKey, 10);
Jusqu'à aujourd'hui, car j'ai créé une autre fonction qui n'a absolument rien avoir avec celle évoquer au dessus, seulement, dans cette fonction j'ouvre une DialogBox afin de récupérer le nom d'un fichier dans un autre répertoire pour faire tout autre chose...
Et là arrive le problème, en ouvrant cette DialogBox, et en sélectionnant un fichier, je modifie le chemin dans lequel il va regarder pour ma fonction du dessus... Je m'en suis rendu compte en testant moi-même car avec cette DialogBox lorsque je vais chercher un fichier dans le même dossier que MonFichier.ini il n'y a pas de problème...
Alors je me suis dis en récupérant le répertoire de mon executable (puisque MonFichier.ini est là) je n'aurai qu'à le rajouter et le tour sera jouer...
Et maintenant je rajoute chemin dans ma première fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 char chemin[MAX_PATH]; char *c; c = chemin + GetModuleFileName(NULL,chemin,MAX_PATH); CString Cchemin(chemin); Chemin = Cchemin.Mid(0,Cchemin.ReverseFind('\\'));
Et là ça ne marche pas.. et voilà ce que j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CDataFile* Init= new CDataFile(Chemin + "MonFichier.ini"); Donnee = Init->GetProfileInt(MySection, MyKey, 10);
Alors si quelqu'un y comprend qqchose ?error C2664: '__thiscall CDataFile::CDataFile(class std::basic_string<char,struct std::char_traits<char>,class st
d::allocator<char> >)' : cannot convert parameter 1 from 'class CString' to 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.
Partager