Problème avec SHFILEOPSTRUCT

romauto750 Messages postés 45 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 12 janvier 2012 - 17 juin 2008 à 12:49
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 17 juin 2008 à 15:33
Bonjour,

Voila j'ai un petit soucis quand j'utilise SHFILEOPSTRUCT pour copier des fichiers.

Quand je fais le code suivant, je n'ai aucun problème, cela marche parfaitement.
    SHFILEOPSTRUCT fileop;
    fileop.hwnd = NULL;
    fileop.wFunc = FO_COPY;
    fileop.pFrom = "C\\temp\\monOCX.ocx";
    fileop.pTo = "C:\\temp1\";
    fileop.fFlags =             FOF_ALLOWUNDO|FOF_NOCONFIRMATION|FOF_NOCONFIRMMKDIR;
    SHFileOperation(&fileop);

Mais quand je fais le code suivant, cela ne marche plus.
    CString test = "C:\\temp\\monOCX.ocx";
    fileop.pFrom = test ;
    fileop.pTo = "c:\\temp1\";
    fileop.fFlags = FOF_ALLOWUNDO|FOF_NOCONFIRMATION|FOF_NOCONFIRMMKDIR;
    SHFileOperation(&fileop);

Quelqu'un saurait pourquoi ?? comme message d'erreur, il me dit "impossible de copier: impossible de lire le fichier source". Pourtant le fileop.pFrom prend un LPCTSTR.

 http://msdn.microsoft.com/en-us/library/bb759795(VS.85).aspx

Merci à tous pour vos réponses

4 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
17 juin 2008 à 13:14
Salut
Oui fileop.pFrom prend un LPCTSTR mais pas un string en parametre!
Essaye quelque chose comme ca:
fileop.pFrom = test.toChar() ;

A+
Mon site internet : http://pistol.petesampras.free.fr
0
romauto750 Messages postés 45 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 12 janvier 2012
17 juin 2008 à 14:28
J'ai regardé je n'ai pas toString() ds les possibilités. J'ai essayé des cast mais ca ne marche pas non plus. Je suis obligé de passer par une variable car je récupère le chemin d'une variable située ds une autre classe. Avec les char* ca me fait la même erreur...
0
romauto750 Messages postés 45 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 12 janvier 2012
17 juin 2008 à 14:45
A défaut de ne pas trouver ce problème, j'ai utiliser la fonction CopyFile() et cela marche bien.
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
17 juin 2008 à 15:33
Je n'ai pas mis toString, mais toChar...

Je pense que c'est toCharArray() meme.

Et va dans les proprietes du projet et enleve le mode unicode pour   :  Use Multi-Byte Character Set
et ca devrait marcher.

A+
Mon site internet : http://pistol.petesampras.free.fr
0
Rejoignez-nous