Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Проблема с удалением папок |

28.08.2008, 00:33
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Проблема с удалением папок
Использую Borland Developer Studio 2006 Вот такой вод код.Пытаюсь удалить выбранные папки.
Код:
char *flnames=new char[1024*1024];
void dlfls(void)
{
char *buf=new char[1024*1024];
for(;;)
{
strcpy(buf,flnames);
strtok(buf,"\n");
//strcat(buf,"\\");
ShowMessage(buf);
int res;
SHFILEOPSTRUCT fo;
ZeroMemory(&fo, sizeof(fo));
fo.hwnd = 0;
fo.pFrom = buf;
fo.wFunc = FO_DELETE;
fo.fFlags = FOF_NOCONFIRMATION;
res = SHFileOperation(&fo);
flnames+=strlen(buf);
if(strlen(flnames)==0){break;}
memset(buf,NULL,1024*1024);
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
memset(flnames,NULL,1024*1024);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString Directory;
SelectDirectory("",WideString(""),Directory);
strcat(flnames,Directory.c_str());
strcat(flnames,"\n");
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
dlfls();
}
Выскакивает мессагбокс с матюком что нельзя произвети чтение с файла или с диска.Немогу понять в чем дело  Ведь список папок составляется и разбирается нормально.Чего может ненравится SHFileOperation 
|
|
|

28.08.2008, 09:42
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Как вариант попробуй зающать алгоритм рекурсивного удаления каталога.
Или на крайняк почитай вот тут вот обсуждался этот вопрос и было найдено решение.
hxxp://www.sources.ru/NonCGI/Forum2/HTML/002353.html
|
|
|

28.08.2008, 14:57
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Как оказалось надо было всего лишь это
добавить что бы заработало.
_______________________________
блин я в абсолютном шоке  Никогда такого невидел  То абсолютно нормально все каталоги отрабатывает ,то какого то всеравно ругается что нельзя получить доступ к файлу 
Последний раз редактировалось _nic; 28.08.2008 в 20:41..
|
|
|

29.08.2008, 16:04
|
|
Banned
Регистрация: 11.10.2007
Сообщений: 54
Провел на форуме: 86268
Репутация:
84
|
|
Файлы поди read-only, вначале ставь нужный атрибут на все файлы и папки, а потом только удаляй. Как вариант удаляй с помощью shell.
Рукодельник.
|
|
|

29.08.2008, 21:17
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Бли вообще фигня какае то ,папка удаляется а месседжбокс с матюком всеравно вылазит.Может можно как то его отловить и ОК на нем програмно нажать?
|
|
|

30.08.2008, 00:24
|
|
Новичок
Регистрация: 04.06.2008
Сообщений: 24
Провел на форуме: 55730
Репутация:
16
|
|
на какой конкретно строке материться?
|
|
|

30.08.2008, 13:24
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Сообщение от ExZoD
на какой конкретно строке материться?
Хрен знает какое исключение которое обрабатывается внутри самой SHFileOperation ,что тут неясного?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|