Chemin par defaut qui change......

Résolu
wizzo Messages postés 35 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 25 octobre 2006 - 19 juil. 2005 à 18:08
wizzo Messages postés 35 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 25 octobre 2006 - 19 juil. 2005 à 18:40
Voila mon problème,

J'ai programmé une fonction de log qui écris toujours dans le même
fichier, mais lorsque j'ai rajouté du win32 dans mon code il a commencé
a se comporter bizarrement :



Je me sert de la fonction GetOpenFileName() pour afficher un
filechooser. Tous les appels a ma fonction de log avant ce
GetOpenFileName() marchent bien, mais apres l'appel fatidique, mon
fichier de log est créé dans le dossier que m'a retourné
GetOpenFileName().



Un probleme similaire m'etait deja arrivé il ya longtemps, mais il s'etait resolu tout seul.

Si qqun a une idée, merci d'avance
wizzo

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juil. 2005 à 18:34
OFN_NOCHANGEDIR

ciao...
BruNews, MVP VC++
3
ciddu42 Messages postés 23 Date d'inscription dimanche 11 avril 2004 Statut Membre Dernière intervention 19 novembre 2019
19 juil. 2005 à 18:25
fais voir ce morceau de ton code stp.
0
TopScritch Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 octobre 2010
19 juil. 2005 à 18:27
Simple tu indique l'adresse complete du fichier log



char dos[MAX_PATH];

_getcwd(dos,MAX_PATH);

Permet de récupéré l'adresse ou pointe ton prog.



_chdir(dos);

Permet de définir l'adresse ou pointera ton prog.



@+
0
wizzo Messages postés 35 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 25 octobre 2006
19 juil. 2005 à 18:29
ceci est le bout de code qui affiche la dialog



char * getOpenFileName(char * title){



OPENFILENAME ofn;

char * filepath = new char[260];

char szFile[260];

HWND hwnd;

HANDLE hf;



ZeroMemory(&ofn, sizeof(ofn));

ofn.lStructSize = sizeof(ofn);

ofn.hwndOwner = NULL;

ofn.lpstrFile = szFile;

ofn.lpstrFile[0] = '\0';

ofn.nMaxFile = sizeof(szFile);

ofn.lpstrFilter = "Image Files\0*.PNG;*.DDS;*.TGA;*.BMP;*.JPG\0";

ofn.nFilterIndex = 1;

ofn.lpstrFileTitle = NULL;

ofn.lpstrTitle = title;

ofn.nMaxFileTitle = 0;

ofn.lpstrInitialDir = NULL;

ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;



if(GetOpenFileName(&ofn)){

memcpy(filepath, ofn.lpstrFile, 260);

return filepath;

}



return NULL;

}



et la fonction de log est ici : http://www.ece.fr/~miffre/public/dev/addToLog.cpp


wizzo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wizzo Messages postés 35 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 25 octobre 2006
19 juil. 2005 à 18:30
ah, 2 minutes trop tard pour voir ta reponse topscritch =)

je vais essayer ça tout de suite


wizzo
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 juil. 2005 à 18:32
ben oui, ton GetOpenFileName() change ta currentDirectory, ajoute le flag de NON changement.

ciao...
BruNews, MVP VC++
0
wizzo Messages postés 35 Date d'inscription jeudi 12 septembre 2002 Statut Membre Dernière intervention 25 octobre 2006
19 juil. 2005 à 18:40
problem resolu en moins d'1/2 heure =)

merci bcp tout le monde

ces fonction _getcwd/_chdir peuvent etre tres utiles



a++ et merci encore
wizzo
0
Rejoignez-nous