FIN — Fix Incorrect Names

Здесь можно обсудить ваш любимый плагин.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: FIN — Fix Incorrect Names

Post by John Doe »

Latest post of the previous page:

Не стоит мудрить. Надо молча обрезать пока не останется ".."
Path\.. это кому вообще понадобиться такое?

Опционально можно сделать запрос на изменение.
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FIN — Fix Incorrect Names

Post by Тигрёнок »

Ну, я пофиксил, как мог.
Варианты .. и Path\.. для диалогов копирования, перемещения с создания ссылки должны отрабатываться правильно.
Плагин по-прежнему партизанит - не задаёт вопросов, не выдаёт предупреждений.
Если, отъедая по одному символу с конца от имени, его так и не удаётся сделать корректным, то плагин его и не меняет.
Съешь мыша – стань настоящим клавишником!
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FIN — Fix Incorrect Names

Post by Shmuel »

Тигрёнок
У меня подозрение, что странное поведение DM_SETDLGITEM объясняется модификацией плагином блока памяти, на которую указывает PtrData. PtrData - это указатель типа const wchar_t*, видимо так делать нельзя. Поэтому лучше было бы воспользоваться DM_SETTEXT.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FIN — Fix Incorrect Names

Post by Shmuel »

John Doe wrote:Path\.. это кому вообще понадобиться такое?
Ну например ..\.. вполне может понадобиться.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: FIN — Fix Incorrect Names

Post by John Doe »

Действительно...
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: FIN — Fix Incorrect Names

Post by Kildor »

Так, а path/second/.. во что превратится? Хотелось бы в корректное path (а откуда может проявиться — например из макроса, где чтоб не создавать неестественный интеллект, просто работать влоб).
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: FIN — Fix Incorrect Names

Post by John Doe »

Kildor wrote:Так, а path/second/.. во что превратится? Хотелось бы в корректное path
Это как?
Kildor wrote:(а откуда может проявиться — например из макроса, где чтоб не создавать неестественный интеллект, просто работать влоб).
Надо предусмотреть возможность "отключения" плагина. Например, если диалог закрывается не по Enter, а по Ctrl-Enter, или по хоткею.
Или предлагайте.
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FIN — Fix Incorrect Names

Post by Тигрёнок »

Shmuel wrote:У меня подозрение, что странное поведение DM_SETDLGITEM объясняется модификацией плагином блока памяти, на которую указывает PtrData.
Это подозрение ошибочно. Я попробовал сделать копию и издеваться над ней - результат тот же: пустая строка в PtrData тупо игнорируется.
Shmuel wrote:PtrData - это указатель типа const wchar_t*, видимо так делать нельзя.
Это ещё почему? Far заливает содержимое PtrData в память сразу после конца структуры FarDialogItem (собственно говоря, для этого и приходится сначала выяснять объём потребной памяти, который зависит от длины строки). Далее - это уже целиком и полностью моя строка.
Shmuel wrote:Поэтому лучше было бы воспользоваться DM_SETTEXT.
А вот это - да! Работает корректно. Переделаю. Мерси!
Съешь мыша – стань настоящим клавишником!
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FIN — Fix Incorrect Names

Post by Тигрёнок »

Kildor wrote:Так, а path/second/.. во что превратится?
Начиная с v1.2 останется без изменений.
Kildor wrote:Хотелось бы в корректное path
Я даже не буду спрашивать, а как плагину догадаться, что Вы хотите убить всё, что правее. Но скажите мне, а на хрена такие грабли разбрасывать?
Съешь мыша – стань настоящим клавишником!
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FIN — Fix Incorrect Names

Post by Тигрёнок »

John Doe wrote:Надо предусмотреть возможность "отключения" плагина.
Вообще-то он замечательно "отключается", если имя взято в кавычки. Ну, для путей ещё можно лепить в конец косую черту.
John Doe wrote:Например, если диалог закрывается не по Enter, а по Ctrl-Enter, или по хоткею.
Это идеологически неправильно. Если отрабатывается событие, то именно событие, а не способ, которым оно возникло. Пользователь мог и мышкой кликнуть, и макрос вызвать, эмулирующий нажатие клавиши... На каждый чих не наздравствуешься.
Кстати, сейчас отрабатывается закрытие диалога, в т.ч. - отмена. Пофиксю для отработки исполнения.
Съешь мыша – стань настоящим клавишником!
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: FIN — Fix Incorrect Names

Post by Kildor »

> Я даже не буду спрашивать, а как плагину догадаться, что Вы хотите убить всё, что правее. Но скажите мне, а на хрена такие грабли разбрасывать?
Вообще-то Я хочу чтоб плагин не трогал этот путь вовсе. Имелось в виду, что такой путь вполне валиден, и просто означает то что означает — .. — родительская папка, соответственно path/second/.. просто означает path/ (и как раз тут — никакого неестественного интеллекта не нужно ).
Просто Я криво написал в первом сообщении, сорри. ;)

> Начиная с v1.2 останется без изменений.
Вот это и правильно.

PS: и хорош меня размножать, задолбало уже.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FIN — Fix Incorrect Names

Post by Shmuel »

Тигрёнок wrote:Это подозрение ошибочно. Я попробовал сделать копию и издеваться над ней - результат тот же: пустая строка в PtrData тупо игнорируется.
Да, я уже тоже успел это проверить.
Тигрёнок wrote:Far заливает содержимое PtrData в память сразу после конца структуры FarDialogItem (собственно говоря, для этого и приходится сначала выяснять объём потребной памяти, который зависит от длины строки). Далее - это уже целиком и полностью моя строка.
Видимо так, но это не документировано. Указатель всё равно типа const.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: FIN — Fix Incorrect Names

Post by Shmuel »

Тигрёнок wrote:если по DM_SETDLGITEM подаётся пустая строка, то оно просто не отрабатывается FAR'ом... Более того, если сделать несколько изменений, то в ответ на передачу после них пустой строки, они откатятся.
Установил, куда они откатываются: на последний элемент истории эдит-контрола. То-есть, если удалить последний (верхний) элемент в выпадающем списке (Shift-Del), то в дальнейшем откат произойдёт на тот элемент, который станет последним. Это конечно баг.
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

Re: FIN — Fix Incorrect Names

Post by Taciturn »

Нельзя ли добавить в FixIncorrectNames.dll ресурс VersionInfo? Сейчас досрочно сложно узнать версию FIN, с VersionInfo станет гораздо проще.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: FIN — Fix Incorrect Names

Post by John Doe »

DlgGuid.hpp wrote:// {431A2F37-AC01-4ecd-BB6F-8CDE584E5A03}
DEFINE_GUID(MoveFilesId,0x431a2f37,0xac01,0x4ecd,0xbb,0x6f,0x8c,0xde,0x58,0x4e,0x5a,0x3);
User avatar
Тигрёнок
Posts: 391
Joined: Wed 03 May, 2006 06:07
Location: Россия
Contact:

Re: FIN — Fix Incorrect Names

Post by Тигрёнок »

John Doe wrote:
DlgGuid.hpp wrote:// {431A2F37-AC01-4ecd-BB6F-8CDE584E5A03}
DEFINE_GUID(MoveFilesId,0x431a2f37,0xac01,0x4ecd,0xbb,0x6f,0x8c,0xde,0x58,0x4e,0x5a,0x3);
Это какой-то секретный хедер или он или простым людЯм доступен? И вообще, от какого он билда? От 1662 или от более младших?
Съешь мыша – стань настоящим клавишником!
Post Reply

Return to “Обсуждение плагинов”