Диски с нелатинскими буквами

Нашли баг? Воспользуйтесь поиском чтобы убедиться что его не нашли до вас и если он не упоминается добавьте его описание (желательно пошаговое).
Чем для автора программы отличаются баги, недоработки и фичи.

Модератор: motyara

Ответить
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Диски с нелатинскими буквами

Сообщение Qwertiy »

Некорректно обрабатывается попытка перехода на диск, если его буква русская, причём независимо от того, существует он или нет...
При переходе с помощью cd из несуществующего каталога первого уровня в каталог второго уровня или из корня существующего диска в существующий каталог первого уровня происходит Abnormal program termination.
Если поводить мышью по адресной строке, то текст в ней множится...
Диск не отображается (как и везде).

PS: В cmd и TC работает... Программы (NPP, Блокнот) способны открыть файл, если его имя передано как аргумент, но компонент OpenFileDialog всегда считает путь некорректным.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

#:

Сообщение Qwertiy »

При использовании диска #: выделение файлов/каталогов возможно только с помощью мыши. Вход в каталог - только Enter. Открыть файлы невозможно.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Странно, но мне пока еще не доводилось видеть дисков, буквы которых не находятся в интервале от "A" до "Z". Полагаю скринвидео получения проблемной ситуации не помешает...
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):Странно, но мне пока еще не доводилось видеть дисков, буквы которых не находятся в интервале от "A" до "Z". Полагаю скринвидео получения проблемной ситуации не помешает...
Даже если их нет, напишите cd я:\ в UC и посмотрите, что будет. Поводите мышью по строке адреса, поэкспериментируйте с командой cd...
Чтобы получить существующий диск с нелатинской буквой, используйте команду subst в командной строке. Я пока не заметил ограничений на букву... Хотя логично, что какие-то всё-таки есть.

PS: Возможно, потом сделаю скринвидео.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Диск по-русски.7z
Скринвидео
(332.14 КБ) 180 скачиваний
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

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: Под "правильно" я имею в виду, что обрабатывается аналогично файлам со слишком длинными путями...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Хм... я слегка удивлен тому факту что действительно можно получить диски с русскими буквами в качестве буквы диска. Впрочем штатные функции работы с файлами к сожалению не все могут общаться с такими дисками, даже Проводник пребывает в недоумении если попытаться принудительно перейти на такой диск, да и программы использующие диалог открытия файлов такой путь не воспринимают. Полагаю на данный момент самым рациональным вариантом будет невосприятие программой таких дисков. В новом билде это будет добавлено. Спасибо за информацию.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):даже Проводник пребывает в недоумении если попытаться принудительно перейти на такой диск, да и программы использующие диалог открытия файлов такой путь не воспринимают.
У Проводника это может быть связано с 26-ю параметрами в реестре - доступ и видимость...
Про программы - немного некорректное утверждение. Диалог OpenFileDialog считает такие пути некорректными, но Блокнот без проблем открывает файлы на этих дисках, если они переданы как аргумент. NPP тоже... Тут дело в лишней проверке, а не в невозможности обработать путь.
Max Diesel писал(а):Полагаю на данный момент самым рациональным вариантом будет невосприятие программой таких дисков. В новом билде это будет добавлено. Спасибо за информацию.
Заменить кучу багов (Abnormal program termination - это всегда баг) одной недоработкой "UC способен работать только с дисками от A до Z"...
Конечно, это на Ваше усмотрение (спорить не буду, хотя мне и не нравится такой вариант), но может сделать что-нибудь другое? Например, удалить какие-то проверки. Возможно дело в замене '\' на '/' при использовании русских букв. Или просто как-то избежать падения UC по ошибке и выдавать предупреждение "Корректная работа с этим диском не гарантируется. Вы уверены, что хотите продолжить? [Да] [Нет as default]".
В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.

PS: Напоминаю, что FAR и TC способны работать с такими дисками (насколько мне известно, качество работы я не знаю)...

Ещё PS: Очень интересно, как в списке могут не работать стрелки вверх/вниз и почему обработка двойного щелчка отличается от нажатия Enter...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):Заменить кучу багов (Abnormal program termination - это всегда баг) одной недоработкой "UC способен работать только с дисками от A до Z"...
Конечно, это на Ваше усмотрение (спорить не буду, хотя мне и не нравится такой вариант), но может сделать что-нибудь другое? Например, удалить какие-то проверки. Возможно дело в замене '\' на '/' при использовании русских букв. Или просто как-то избежать падения UC по ошибке и выдавать предупреждение "Корректная работа с этим диском не гарантируется. Вы уверены, что хотите продолжить? [Да] [Нет as default]".
В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.
Удаление "каких-то проверок" обычно ведет к тому что "какие-то функции" будут дадут неверный результат при работе с нормальными дисками. А вот фраза "корректная работа с диском не гарантируется" должна бы по-нормальному выдаваться не файловым менеджером, а subst'ом.
Qwertiy писал(а):PS: Напоминаю, что FAR и TC способны работать с такими дисками...
Полагаю "способность работать с ними" слишком уж урезанная по всем статьям - файлы с таких дисков не запускаются, большое количество функций не функционирует, можно лишь побродить по каталогам и скопировать файлы на нормальный диск... Вот если вдруг штатные функции наконец начнут поддерживать взаимодействие с такими функциями, тогда уже и можно будет модифицировать программу для их восприятия.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Пожалуйста, прокомментируйте
Qwertiy писал(а):В любом случае, прошу не запрещать полностью диски с буквой, код которой в диапазоне 32 ... 126. На них Abnormal program termination пока не видно, кроме того, их обработка более корректная.
PS: Как и обещал, не спорю. Не думаю, что кому-то понадобится больше 26 дисков...
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Функция, которая отвечает за определение типа пути, дисками считает буквы с кодами 65-90, FTP-соединениями считает цифры, остальное расценивается в некоторых случаях как сеть, а в оставшихся как некорректный путь. Я конечно мог бы убедить функцию в том что диски могут иметь другие коды (кроме 65-90), но на данный момент я не вижу в этом смысла...
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):FTP-соединениями считает цифры
Т. е. количество одновременных ftp-соединений ограничено 10?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Именно так.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Теперь про цифры...

Сообщение Qwertiy »

Собственно, недоделано...
Опять Abnormal program termination, если эта цифра не используется.
cd на цифру.7z
Скринвидео
(93.03 КБ) 170 скачиваний
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Хотя корень этой проблемы оказался совсем в другой области, но тем не менее все-таки баг. Спасибо за информацию, в следующем билде предположительно будет корректнее. Впрочем подозреваю что таких "недообработанных" (и не обнаруженных) ситуаций еще некоторое количество имеется...
Ответить