Код: Выделить всё
extern "C" __declspec(dllexport) int __stdcall FsRenMovFile(char* OldName,char* NewName,bool Move,bool OverWrite,RemoteInfoStruct* ri)
{
if(!strcmp(OldName,NewName)) return FS_FILE_OK;
if(!OverWrite && ItemExists(NewName))
return FS_FILE_EXISTS;
CopyItem(OldName,NewName,Move,OverWrite);
return FS_FILE_OK;
}
Когда файл копируется из одной папки в другую (в WFX файловой системе) и возвращается FS_FILE_EXISTS (при существовании файла) - все нормально - я получаю диалог перезаписи.ItemExists - проверка суествования файла
CopyItem - копирование/перемещение файла
Когда файл копируется в ту же папку (по Shift+F5) и возвращается FS_FILE_EXISTS (при существовании файла) - все нормально - я получаю диалог перезаписи.
Но когда файл переименовывается (по Shift+F6) и возвращается FS_FILE_EXISTS (при существовании файла) я не получаю диалог перезаписи. Но зато получаю следующее сообщение:
Правильно ли это (сомневаюсь)?---------------------------
Total Commander
---------------------------
Error: Cannot write \\\VFS\222.222!
Please remove the write protection!
---------------------------
ОК
---------------------------
Тема на оффоруме:
http://ghisler.ch/board/viewtopic.php?t ... 6f09df7648