Здравствуйте Egil, Вы писали:
E>в папке один файл, нужно убить и файл и папку, пишу:
E> er = DeleteFileMy(strFile & "\file.dat") E> If er <> 0 Then E> er = RemoveDirectory(strFile)
E>файл убивается, а на третьей строке:в ответ получаю :
E>32 The process cannot access the file because it is being used by another process. ERROR_SHARING_VIOLATION
E>то что кроме моей проги никто не трогает папку точно...
E>в чем я не прав?
Проверь, что текущий каталог программы не показывает на эту папку.
-- Alex Fedotov
Re[2]: Глупость конечно, но глючит RemoveDirectory (или я
Здравствуйте Alex Fedotov, Вы писали:
AF>Здравствуйте Egil, Вы писали:
E>>в папке один файл, нужно убить и файл и папку, пишу:
E>> er = DeleteFileMy(strFile & "\file.dat") E>> If er <> 0 Then E>> er = RemoveDirectory(strFile)
E>>файл убивается, а на третьей строке:в ответ получаю :
E>>32 The process cannot access the file because it is being used by another process. ERROR_SHARING_VIOLATION
E>>то что кроме моей проги никто не трогает папку точно...
E>>в чем я не прав?
AF>Проверь, что текущий каталог программы не показывает на эту папку.
а для этого достаточно SetCurrentDirectory ("D:\") ?
...
SetCurrentDirectory ("D:\")
Recycle(D:\Dir1\Dir2)
....
Public Sub Recycle(ByVal FileName As String)
Dim CFileStruct As SHFILEOPSTRUCT
With CFileStruct
.hwnd = Me.hwnd
.fFlags = FOF_SILENT Or FOF_NOCONFIRMATION
.pFrom = FileName
.wFunc = FO_DELETE
End With
If SHFileOperation(CFileStruct) <> ERROR_SUCCESS Then
MsgBox "oupsss...."
End If
End Sub
это мне тооже дает нормально удалить файл, а при попытк снести папку опять sharing_violation... кого ловить? где?