FarNet — плагин для написания плагинов на .NET языках

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

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

Latest post of the previous page:

NightRoman wrote: А в редакторе, панелях и проч. тоже так будет (пока вроде нет)?
Не знаю что там в панелях, но для ProcessEditorInput и ProcessConsoleInput так было и раньше.
Собственно целью последнего изменения очевидно и есть унификация.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

Хм. Я дописал в своем ответе - Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT, а не по FARMACRO_KEY_EVENT. Непонятно пока, буду смотреть, что и как.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

Может, в редакторе и проч. оба события происходят и KEY_EVENT, и FARMACRO_KEY_EVENT? Иначе непонятно, как Фарнет работал (и работает, и ибо проверка FARMACRO_KEY_EVENT пока только что добавлена только в диалог).

Другое предположение: при вызове макроса через АПИ в редактор и проч. приходит все-таки KEY_EVENT, а не FARMACRO_KEY_EVENT?

Все это я выясню подробнее, но позже, может, не сегодня.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

NightRoman wrote: Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT
Запустите из командной строки lua:Keys "F4 a b c d". Что получит в редакторе Фарнет?
NightRoman wrote: Может, в редакторе и проч. оба события происходят и KEY_EVENT, и FARMACRO_KEY_EVENT?
Не наблюдаю такого (и это было бы лишено всякого смысла).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by NightRoman »

> Запустите из командной строки lua:Keys "F4 a b c d". Что получит в редакторе Фарнет?
сейчас проверить не могу, проверю позже

> Не наблюдаю такого (и это было бы лишено всякого смысла).
тогда второе предположение, иначе бы тесты в Фарнет не работали.

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

Глюки и баги, появившиеся в «ночных сборках»

Post by John Doe »

NightRoman wrote: Другое предположение: при вызове макроса через АПИ
При использовании MCTL_SENDSTRING тоже приходит FARMACRO_KEY_EVENT
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Глюки и баги, появившиеся в «ночных сборках»

Post by zg »

NightRoman wrote:Это так и задумано?
нет.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

zg wrote:
NightRoman wrote:Это так и задумано?
нет.
Ясно, спасибо. Подожду дальшейшего развития тогда.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

John Doe, c магией в Фарнет разобрался, ее нет, конечно. Все верно, в редакторе есть события KEY_EVENT и FARMACRO_KEY_EVENT, и редактор Фарнет про FARMACRO_KEY_EVENT просто не знает. Но это нигде отрицательно не проявляется, так как тестам в редакторе это и не надо, тесты посылают макросы и проверяют *обычную работу Фара* после этого. С тестами в диалоге ситуация другая, тесты посылают макросы и проверяют работу Фара *и плагина, который отработал клавиши*. Поэтому тесты диалогов и отвалились в случае когда FARMACRO_KEY_EVENT стал отдельно приходить.

Про FARMACRO_KEY_EVENT вообще только сегодня узнал. Век живи, учись...
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by John Doe »

NightRoman wrote: редактор Фарнет про FARMACRO_KEY_EVENT просто не знает
Т.е. просто игнорирует их.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

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

FarNet — плагин для написания плагинов на .NET языках

Post by John Doe »

Что если обрабатывать их аналогично KEY_EVENT?
Что покажут тесты?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Проверю потом. Скорей всего, все будет ОК. А если и не ОК, то фиксить скорей надо тесты и проверки, а не кухню. Думаю, что макро клавиши не должны игнорироваться *в обычных случаях*. А необычные можно проверять (макро статус или как там в АПИ).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Проверил в 4321, где FARMACRO_KEY_EVENT убран, и вместо него стали приходить KEY_EVENT, которые ранее игнорировались. Теперь не игнорируются, убедился. Тесты в порядке. Хоть это ни о чем особом и не говорит в моем случае. Могло бы отвалиться, если бы тесты были "детальнее". Словом, неважно про тесты. Новый подход с одним типом событий мне как-то более по душе.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by John Doe »

NightRoman wrote: Новый подход с одним типом событий мне как-то более по душе.
Был способ узнать, что событие пришло из макроса. Сейчас его нет.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Может быть. Мне пока хватает проверки макро статуса через АПИ. Если этого недостаточно, то надо что-то предложить конструктивное. В этой теме не совсем логично обсуждать.
Post Reply

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