View previous topic :: View next topic |
Author |
Message |
DeathStalker

Joined: 01 Sep 2006 Posts: 331 Location: Санкт-Петербург
|
(Separately) Posted: Sun Oct 04, 2009 13:46 Post subject: Недопустимые символы в именах и защита от записи |
|
|
Сегодня минут 5 бился над вопросом почему не переименовывается папка, ТС выдает сообщение Ошибка! Не удается записать Снимите защиту от записи.
Unlocker сообщает что папка никем не блокируется, но я тем не менее завершил несколько приложений которые могли бы теоретически блокировать папку, и перезагрузил ТС - результат все тот же переименовать нельзя.
Запустил Проводник - он же выдал что в тексте есть недопустимый символ ":". А хотелось бы чтобы ТС в этом же случае тоже об этом предупреждал более внятно, нежели сообщение об защите от записи. _________________ Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64) |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Mon Oct 05, 2009 13:10 Post subject: |
|
|
Если кто будет постить реквест, рекомендую подчеркнуть, что это именно реквест на распознавание вот этой конкретной, специфической ситуации Тоталом. Иначе Гислер мимоходом сошлётся на то, что это, мол, операционка возвращает такой код ошибки, а он, мол, знать ничего не знает, ведать ничего не ведает. И будет прав, в общем-то.
Кстати, проблема весьма неоднозначная. Ну, допустим, на виндах двоеточие в именах запрещено. А в юниксах разрешено. И что теперь делать, если я сижу на FTP? Или по Самбе открыл линуксовую машину? Или у меня при помощи драйвера подключён линуксовый ext3-раздел, находящийся на моём винте? Или вообще у меня FS-плагин открыт и при попытке такого переименования выдаёт ошибку по какой-то своей причине (а вовсе не потому, что плагину не понравилось двоеточие)? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Lazy Crazy

Joined: 16 Jan 2005 Posts: 400
|
(Separately) Posted: Tue Oct 06, 2009 00:59 Post subject: |
|
|
CaptainFlint wrote: | И что теперь делать, если я сижу на FTP? Или по Самбе открыл линуксовую машину? Или у меня при помощи драйвера подключён линуксовый ext3-раздел, находящийся на моём винте? |
Или ещё более простой случай - документ или .url, сохранённый на ntfs-диске из firefox под ubuntu, как было у меня пару раз…  _________________
 |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Oct 06, 2009 12:21 Post subject: |
|
|
CaptainFlint wrote: | Иначе Гислер мимоходом сошлётся на то, что это, мол, операционка возвращает такой код ошибки, а он, мол, знать ничего не знает, ведать ничего не ведает. И будет прав, в общем-то.
|
Не будет он прав. Если при переименовании в имени файла есть недопустимый символ, то код ошибки будет ERROR_INVALID_NAME(123).
И FormatMessage возвращает вполне нормальный текст - "The filename, directory name, or volume label syntax is incorrect." |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Tue Oct 06, 2009 13:14 Post subject: |
|
|
VadiMGP wrote: | Если при переименовании в имени файла есть недопустимый символ, то код ошибки будет ERROR_INVALID_NAME(123). |
Точно? Если да, то ремарку свою снимаю. Но остаётся вопрос локализации нового сообщения об ошибке, на что Гислер вряд ли пойдёт до следующей мажорной версии. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Oct 06, 2009 13:38 Post subject: |
|
|
CaptainFlint
Это абсолютно точно.
Напиши прорамму из двух строчек, сам увидишь.
Code: | MoveFile("с:\\windows", "с:\\window:s");
DWORD dw = GetLastError();
|
И вообще, я бы сформулировал проблему шире - у ТС отсутствует нормальный анализ кодов ошибок файловых операций. Все сообщения сводятся к двум - защита от записи или нехватка места.
Я сам наблюдал ситуации, когда из-за проблем с чтением файла ТС ругался на отсутствие места на диске.
Last edited by VadiMGP on Tue Oct 06, 2009 15:32; edited 2 times in total |
|
Back to top |
|
 |
DeathStalker

Joined: 01 Sep 2006 Posts: 331 Location: Санкт-Петербург
|
(Separately) Posted: Tue Oct 06, 2009 14:09 Post subject: |
|
|
Тогда Гислеру стоит предложить сделать VadiMGP wrote: | нормальный анализ кодов ошибок файловых операций |
пусть даже этого прийдется подождать до следующей мажорной версии программы.
Кто силен в английском, сделайте соответствующий запрос Гислеру  _________________ Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64) |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Oct 06, 2009 15:43 Post subject: |
|
|
DeathStalker
Если сформулировать реквест именно так, то почти наверняка Гислер не будет этого делать, потому что это слишком расплывчато. Система возвращает сотни разнообразных кодов ошибок, многие из них весьма экзотические и крайне редко встречаются. Нереально рассчитывать, что Гислер примет их все в расчет. Скорее всего он скажет: дайте конкретную ситуацию - я подумаю что можно сделать. То есть, опять всё сведётся к частным случаям. |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Oct 07, 2009 22:30 Post subject: Re: Недопустимые символы в именах и защита от записи |
|
|
DeathStalker wrote: | Сегодня минут 5 бился над вопросом почему не переименовывается папка, ТС выдает сообщение Ошибка! Не удается записать Снимите защиту от записи. |
Обсуждение подобного поведения среди других вопросов было здесь.
Мало того, что выводится сообщение, так и новое имя папки теряется - приходится всё набирать заново.
DeathStalker wrote: | Запустил Проводник - он же выдал что в тексте есть недопустимый символ ":". А хотелось бы чтобы ТС в этом же случае тоже об этом предупреждал более внятно, нежели сообщение об защите от записи. |
Очень важная деталь - сообщение показано ДО того, как пользователь попытался нажать Enter и сохранить изменения. Ещё до возникновения "ошибки" пользователь может её предотвратить. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
Bishop
Joined: 15 May 2007 Posts: 98
|
(Separately) Posted: Fri Dec 04, 2009 00:44 Post subject: |
|
|
В продолжение разговора. Пытаюсь переместить занятый файл. Файл копируется, после чего выдается сообщение «Нет доступа или файл … используется». Это совсем не то, что я хочу. Особенно если перемещение в пределах диска, а файл большой. Плюс дата создания теряется.
Интересно, какие шансы, что ТС научится заранее предупреждать, что он не может что-то сделать, вместо того чтобы строить догадки когда попытка не удалась? :) |
|
Back to top |
|
 |
dfgdfg
Joined: 16 Mar 2011 Posts: 15
|
(Separately) Posted: Tue Jun 28, 2011 23:54 Post subject: Re: Недопустимые символы в именах и защита от записи |
|
|
DeathStalker wrote: | Запустил Проводник - он же выдал что в тексте есть недопустимый символ ":". А хотелось бы чтобы ТС в этом же случае тоже об этом предупреждал более внятно, нежели сообщение об защите от записи. |
Моторокер wrote: | Очень важная деталь - сообщение показано ДО того, как пользователь попытался нажать Enter и сохранить изменения. Ещё до возникновения "ошибки" пользователь может её предотвратить. |
а TC научить мониторить строку до нажатия на Enter нельзя? С сомента создания темы много времени прошло - ничего по сути так и не поменялось? |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Wed Jun 29, 2011 07:14 Post subject: |
|
|
dfgdfg
Поменялось то (в TC 7.56), что после появления сообщения об ошибке стало можно нажать OK и отредактировать текст (в диалоге), не прерывая операцию.
История версий TC wrote: | 10.11.10 Добавлено: При переименовании файла в панели (SHIFT+F6) и вводе недопустимого имени отображается диалоговое окно, где пользователь может исправить имя. |
Что касается мониторинга и самого сообщения о недопустимом символе — предыдущие посты этой темы прочитаны внимательно? В частности, насчёт мажорной версии (которой пока не было), требующей дополнительной локализации? Пока не начнётся хотя бы её бета-тестирование, лезть к разработчику с этим вопросом не имеет особого смысла.
(И загляни в личку, там тебе сообщение.) _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
|