Показать сообщение отдельно
Старый 27.11.2003, 10:02   #1  
NJD is offline
NJD
Участник
 
210 / 26 (1) +++
Регистрация: 21.05.2003
Адрес: Moscow
WinApi. Удаление файлов глючит.
есть метод, который должен проверить каталог, на содержание txt файлов, и удалить их, в случае согласия пользователя.
В общем не пашет это дело - не хочет он удалять первый найденный файл, и зацикливается...
Я так понимаю, из-за того что hanlom захватывает axapta этот файл и держит.
WinApi::closeHandle(handle) и WinApi::findClose(handle); не помогают...
Никто не подскажет, что я не так делаю? Спасибо.


int deleteAllFiles()
{
int handle=0;
str fn='';
DialogButton db;
;
handle =conpeek(WinApi::findFirstFile(pathname+"\\*.txt"),1);
if (handle != -1)
{
db = BOX::yesNo("В указанном каталоге уже есть TXT файлы!!! Удалить их?",DialogButton::Yes);

if (db == DialogButton::Yes)
{
WinApi::closeHandle(handle);
WinApi::findClose(handle);
do
{

fn = conpeek(WinApi::findFirstFile(pathname+"\\*.txt"),2);
handle =conpeek(WinApi::findFirstFile(pathname+"\\*.txt"),1);
WinApi::deleteFile(pathname+'\\'+fn);
}
while (fn);
}
if (db == DialogButton::No)
{
return(0);
}
}
return(1);
}