SHFileOperation führt zu Absturz
-
Hallo und Guten Morgen

ich versuche den Inhalt eines Ordners zu löschen und stelle fest, dass
mir das Programm genau bei SHFileOperation radikal abstürzt.
Im Debugger hält er genau an der Stelle und zeigt nur "Zugriffsverletzung beim Lesen an Position xyz" an.Bis gestern lief dieser Löschaufruf noch korrekt durch. Ich habe soweit ich
es geprüft habe auch keine anderen relevanten Änderungen vorgenommen.
In einer MessageBox zeigt er mir auch den richtigen Pfad für delallemx an.Ich bin ratlos. Projekt neu erstellt bzw. bereinigt habe ich auch schon

CString delallemx+="c:\\Dateien 19.08.2010\\EMX\\*.*"; delallemx+='\0'; SHFILEOPSTRUCT myFileOp; myFileOp.hwnd = 0; myFileOp.wFunc =FO_DELETE; myFileOp.fAnyOperationsAborted=true; myFileOp.pFrom = delallemx; // Hier der Ordner als CString myFileOp.fFlags = FOF_NOCONFIRMATION; myFileOp.lpszProgressTitle = "Lösche EMX-Ordner"; if(SHFileOperation(&myFileOp)==0)//in dieser Zeile crasht es { delem=true;//zur weiteren verwendung später.... }
-
Wie so oft löst sich das Problem wenn man die Doku liest.
pTo
LPCTSTR
Note This string must be double-null terminated.A pointer to the destination file or directory name. This parameter must be set to NULL if it is not used. Wildcard characters are not allowed. Their use will lead to unpredictable results.
pTo ist nicht gesetzt und damit Garbage.
Du solltest Strukturen vor der Verwednung immer mit ZeroMemory initialisieren. 0 ist meistens der Default Wert.
-
ZeroMemory(&myFileOp, sizeof(myFileOp));Just gefunden. Trotzdem Danke!
