sviat9440 Опубликовано 10 марта, 2016 Поделиться Опубликовано 10 марта, 2016 Имеем код: CreateDir(Path + '/Lotus/base/' + BaseID + '_content'); Zip.ExtractZipFile(Path + '/Lotus/base/' + BaseID, Path + '/Lotus/base/' + BaseID + '_content'); DeleteFile(Path + '/Lotus/base/' + BaseID); TString1 := TStringList.Create; TString1.LoadFromFile(Path + '/Lotus/base/' + BaseID + '_content/info', TEncoding.UTF8); JSON := TJSONObject.ParseJSONValue(TString1.Text) as TJSONObject; // ShowMessage(JSON.ToString); TString1.Free; BaseName := JSON.Values['name'].Value; BaseCaption := JSON.Values['caption'].Value; BaseCategory := JSON.Values['category'].Value; BaseVersion := JSON.Values['version'].Value; if MainContentAvailableBaseListBox.Items.IndexOf(BaseID) = -1 then Begin Item := TListBoxItem.Create(nil); Item.Text := BaseID; Item.StylesData['name'] := BaseName; Item.StylesData['caption'] := BaseCaption; Item.StylesData['category'] := BaseCategory; Memory := TMemoryStream.Create; Memory.LoadFromFile(Path + '/Lotus/base/' + BaseID + '_content/img/icon'); Item.ItemData.Bitmap.LoadFromStream(Memory); Memory.Free; MainContentAvailableBaseListBox.AddObject(Item); if MainContentAvailableBaseCategoryListBox.Items.IndexOf(BaseCategory) = -1 then Begin ItemRadio := TListBoxItem.Create(Self); ItemRadio.Text := BaseCategory; ItemRadio.Selectable := False; ItemRadio.Margins.Top := 5; ItemRadio.StylesData['text.OnChange'] := TValue.From<TNotifyEvent>(MainContentAvailableBaseCategoryChange); MainContentAvailableBaseCategoryListBox.AddObject(ItemRadio); End; End; RemoveDir(Path + '/Lotus/base/' + BaseID + '_content'); Вопрос: почему не удаляется папка после его выполнения? Тоесть RemoveDir(Path + '/Lotus/base/' + BaseID + '_content'); не работает. Опять же это все выполняется в потоке. Есть ли более стабильные процедуры стирания папки? Заранее спасибо) Цитата Ссылка на комментарий
0 Rusland Опубликовано 10 марта, 2016 Поделиться Опубликовано 10 марта, 2016 RemoveDir удаляет пустую папку... видимо она не пуста Цитата Ссылка на комментарий
0 sviat9440 Опубликовано 10 марта, 2016 Автор Поделиться Опубликовано 10 марта, 2016 Да она не пуста. Не знал что пустые только удаляются. Есть ли процедура удаления папки с файлами? Цитата Ссылка на комментарий
0 rareMax Опубликовано 10 марта, 2016 Поделиться Опубликовано 10 марта, 2016 (изменено) System.IOUtils.TDirectory.Delete Изменено 10 марта, 2016 пользователем Сысоев Максим Andrey Efimov и Rusland 2 Цитата Ссылка на комментарий
0 sviat9440 Опубликовано 11 марта, 2016 Автор Поделиться Опубликовано 11 марта, 2016 First chance exception at $76843E28. Exception class EInOutError with message 'The specified directory is not empty'. Process Lotus.exe (684) Цитата Ссылка на комментарий
0 sviat9440 Опубликовано 11 марта, 2016 Автор Поделиться Опубликовано 11 марта, 2016 тоесть TDirectory.Delete все равно не удаляет папку с файлами. Различие в том, что если папка не пуста он вызывает ошибку. Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 11 марта, 2016 Модераторы Поделиться Опубликовано 11 марта, 2016 Вот так TDirectory.Delete(Path, True) не удаляет? На Андроиде работало вроде раньше... Вот тут http://delphifmandroid.blogspot.ru/2014/02/android-2.html, я даже на видео заснял этот момент. sviat9440 1 Цитата Ссылка на комментарий
0 sviat9440 Опубликовано 11 марта, 2016 Автор Поделиться Опубликовано 11 марта, 2016 Вот так TDirectory.Delete(Path, True) не удаляет? На Андроиде работало вроде раньше... Вот тут http://delphifmandroid.blogspot.ru/2014/02/android-2.html, я даже на видео заснял этот момент. О, вот так удаляет)) (Не знал что есть второй параметр) БОЛЬШОЕ СПАСИБО!!)) Цитата Ссылка на комментарий
0 kami Опубликовано 11 марта, 2016 Поделиться Опубликовано 11 марта, 2016 Документацию не обновили... The second version of Delete does not expect a Recursive parameter; it is considered to be false.This means that the second version of Delete will fail on nonempty directories. Цитата Ссылка на комментарий
Вопрос
sviat9440
Имеем код:
Вопрос: почему не удаляется папка после его выполнения?
Тоесть
не работает.
Опять же это все выполняется в потоке.
Есть ли более стабильные процедуры стирания папки?
Заранее спасибо)
Ссылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.