Диски с нелатинскими буквами
Модератор: motyara
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Диски с нелатинскими буквами
Некорректно обрабатывается попытка перехода на диск, если его буква русская, причём независимо от того, существует он или нет...
При переходе с помощью cd из несуществующего каталога первого уровня в каталог второго уровня или из корня существующего диска в существующий каталог первого уровня происходит Abnormal program termination.
Если поводить мышью по адресной строке, то текст в ней множится...
Диск не отображается (как и везде).
PS: В cmd и TC работает... Программы (NPP, Блокнот) способны открыть файл, если его имя передано как аргумент, но компонент OpenFileDialog всегда считает путь некорректным.
При переходе с помощью cd из несуществующего каталога первого уровня в каталог второго уровня или из корня существующего диска в существующий каталог первого уровня происходит Abnormal program termination.
Если поводить мышью по адресной строке, то текст в ней множится...
Диск не отображается (как и везде).
PS: В cmd и TC работает... Программы (NPP, Блокнот) способны открыть файл, если его имя передано как аргумент, но компонент OpenFileDialog всегда считает путь некорректным.
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
#:
При использовании диска #: выделение файлов/каталогов возможно только с помощью мыши. Вход в каталог - только Enter. Открыть файлы невозможно.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Даже если их нет, напишите cd я:\ в UC и посмотрите, что будет. Поводите мышью по строке адреса, поэкспериментируйте с командой cd...Max Diesel писал(а):Странно, но мне пока еще не доводилось видеть дисков, буквы которых не находятся в интервале от "A" до "Z". Полагаю скринвидео получения проблемной ситуации не помешает...
Чтобы получить существующий диск с нелатинской буквой, используйте команду subst в командной строке. Я пока не заметил ограничений на букву... Хотя логично, что какие-то всё-таки есть.
PS: Возможно, потом сделаю скринвидео.
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Судя поQwertiy писал(а):Я пока не заметил ограничений на букву... Хотя логично, что какие-то всё-таки есть.
Код: Выделить всё
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\Documents and Settings\User>subst :: c:\
C:\Documents and Settings\User>::
C:\Documents and Settings\User>cd /d ::
Синтаксическая ошибка в имени файла, имени папки или метке тома.
C:\Documents and Settings\User>subst :: c:\
Команда SUBST для этого диска уже задействована
C:\Documents and Settings\User>subst /d ::
C:\Documents and Settings\User>subst /d ::
Недопустимый параметр: ::
C:\Documents and Settings\User>
UPDATE: С диском :: UC работает правильно, кроме открытия файлов... Блокнот успешно открывает файл, если имя файла написать в командной строке UC.
ЕЩЁ UPDATE: Под "правильно" я имею в виду, что обрабатывается аналогично файлам со слишком длинными путями...
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Хм... я слегка удивлен тому факту что действительно можно получить диски с русскими буквами в качестве буквы диска. Впрочем штатные функции работы с файлами к сожалению не все могут общаться с такими дисками, даже Проводник пребывает в недоумении если попытаться принудительно перейти на такой диск, да и программы использующие диалог открытия файлов такой путь не воспринимают. Полагаю на данный момент самым рациональным вариантом будет невосприятие программой таких дисков. В новом билде это будет добавлено. Спасибо за информацию.
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
У Проводника это может быть связано с 26-ю параметрами в реестре - доступ и видимость...Max Diesel писал(а):даже Проводник пребывает в недоумении если попытаться принудительно перейти на такой диск, да и программы использующие диалог открытия файлов такой путь не воспринимают.
Про программы - немного некорректное утверждение. Диалог OpenFileDialog считает такие пути некорректными, но Блокнот без проблем открывает файлы на этих дисках, если они переданы как аргумент. NPP тоже... Тут дело в лишней проверке, а не в невозможности обработать путь.
Заменить кучу багов (Abnormal program termination - это всегда баг) одной недоработкой "UC способен работать только с дисками от A до Z"...Max Diesel писал(а):Полагаю на данный момент самым рациональным вариантом будет невосприятие программой таких дисков. В новом билде это будет добавлено. Спасибо за информацию.
Конечно, это на Ваше усмотрение (спорить не буду, хотя мне и не нравится такой вариант), но может сделать что-нибудь другое? Например, удалить какие-то проверки. Возможно дело в замене '\' на '/' при использовании русских букв. Или просто как-то избежать падения UC по ошибке и выдавать предупреждение "Корректная работа с этим диском не гарантируется. Вы уверены, что хотите продолжить? [Да] [Нет as default]".
В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.
PS: Напоминаю, что FAR и TC способны работать с такими дисками (насколько мне известно, качество работы я не знаю)...
Ещё PS: Очень интересно, как в списке могут не работать стрелки вверх/вниз и почему обработка двойного щелчка отличается от нажатия Enter...
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Удаление "каких-то проверок" обычно ведет к тому что "какие-то функции" будут дадут неверный результат при работе с нормальными дисками. А вот фраза "корректная работа с диском не гарантируется" должна бы по-нормальному выдаваться не файловым менеджером, а subst'ом.Qwertiy писал(а):Заменить кучу багов (Abnormal program termination - это всегда баг) одной недоработкой "UC способен работать только с дисками от A до Z"...
Конечно, это на Ваше усмотрение (спорить не буду, хотя мне и не нравится такой вариант), но может сделать что-нибудь другое? Например, удалить какие-то проверки. Возможно дело в замене '\' на '/' при использовании русских букв. Или просто как-то избежать падения UC по ошибке и выдавать предупреждение "Корректная работа с этим диском не гарантируется. Вы уверены, что хотите продолжить? [Да] [Нет as default]".
В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.
Полагаю "способность работать с ними" слишком уж урезанная по всем статьям - файлы с таких дисков не запускаются, большое количество функций не функционирует, можно лишь побродить по каталогам и скопировать файлы на нормальный диск... Вот если вдруг штатные функции наконец начнут поддерживать взаимодействие с такими функциями, тогда уже и можно будет модифицировать программу для их восприятия.Qwertiy писал(а):PS: Напоминаю, что FAR и TC способны работать с такими дисками...
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Пожалуйста, прокомментируйте
PS: Как и обещал, не спорю. Не думаю, что кому-то понадобится больше 26 дисков...Qwertiy писал(а):В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
Функция, которая отвечает за определение типа пути, дисками считает буквы с кодами 65-90, FTP-соединениями считает цифры, остальное расценивается в некоторых случаях как сеть, а в оставшихся как некорректный путь. Я конечно мог бы убедить функцию в том что диски могут иметь другие коды (кроме 65-90), но на данный момент я не вижу в этом смысла...
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Теперь про цифры...
Собственно, недоделано...
Опять Abnormal program termination, если эта цифра не используется.
Опять Abnormal program termination, если эта цифра не используется.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm