Глупость конечно, но глючит RemoveDirectory (или я
От: Egil  
Дата: 23.12.01 06:10
Оценка:
в папке один файл, нужно убить и файл и папку, пишу:

er = DeleteFileMy(strFile & "\file.dat")
If er <> 0 Then
er = RemoveDirectory(strFile)

файл убивается, а на третьей строке:в ответ получаю :

32 The process cannot access the file because it is being used by another process. ERROR_SHARING_VIOLATION

то что кроме моей проги никто не трогает папку точно...

в чем я не прав?

Синсерли Ёрз.
Re: Глупость конечно, но глючит RemoveDirectory (или я
От: IT Россия linq2db.com
Дата: 23.12.01 06:26
Оценка:
Здравствуйте Egil, Вы писали:

E>в папке один файл, нужно убить и файл и папку, пишу:


Каталоги лучше прибивать с помощью SHFileOperation. Посмотри здесь http://rsdn.ru/qna/?baseserv/delfold.xml пример от Игоря Вартанова.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Глупость конечно, но глючит RemoveDirectory (или я
От: Alex Fedotov США  
Дата: 23.12.01 06:32
Оценка:
Здравствуйте 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 (или я
От: Egil  
Дата: 23.12.01 08:30
Оценка:
Здравствуйте 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... кого ловить? где?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.