Page 83 of 87

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

Posted: Fri 20 Mar, 2015 08:46
by John Doe

Latest post of the previous page:

NightRoman wrote: А в редакторе, панелях и проч. тоже так будет (пока вроде нет)?
Не знаю что там в панелях, но для ProcessEditorInput и ProcessConsoleInput так было и раньше.
Собственно целью последнего изменения очевидно и есть унификация.

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

Posted: Fri 20 Mar, 2015 08:49
by NightRoman
Хм. Я дописал в своем ответе - Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT, а не по FARMACRO_KEY_EVENT. Непонятно пока, буду смотреть, что и как.

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

Posted: Fri 20 Mar, 2015 08:52
by NightRoman
Может, в редакторе и проч. оба события происходят и KEY_EVENT, и FARMACRO_KEY_EVENT? Иначе непонятно, как Фарнет работал (и работает, и ибо проверка FARMACRO_KEY_EVENT пока только что добавлена только в диалог).

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

Все это я выясню подробнее, но позже, может, не сегодня.

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

Posted: Fri 20 Mar, 2015 09:03
by John Doe
NightRoman wrote: Фарнет не проверяет этот тип события больше нигде и все там работает по KEY_EVENT
Запустите из командной строки lua:Keys "F4 a b c d". Что получит в редакторе Фарнет?
NightRoman wrote: Может, в редакторе и проч. оба события происходят и KEY_EVENT, и FARMACRO_KEY_EVENT?
Не наблюдаю такого (и это было бы лишено всякого смысла).

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

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

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

словом, разберусь, отпишусь. обсуждение надо бы перенести, раз это не бага.

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

Posted: Fri 20 Mar, 2015 09:19
by John Doe
NightRoman wrote: Другое предположение: при вызове макроса через АПИ
При использовании MCTL_SENDSTRING тоже приходит FARMACRO_KEY_EVENT

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

Posted: Fri 20 Mar, 2015 09:29
by zg
NightRoman wrote:Это так и задумано?
нет.

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

Posted: Fri 20 Mar, 2015 13:41
by NightRoman
zg wrote:
NightRoman wrote:Это так и задумано?
нет.
Ясно, спасибо. Подожду дальшейшего развития тогда.

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

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

Про FARMACRO_KEY_EVENT вообще только сегодня узнал. Век живи, учись...

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

Posted: Fri 20 Mar, 2015 14:25
by John Doe
NightRoman wrote: редактор Фарнет про FARMACRO_KEY_EVENT просто не знает
Т.е. просто игнорирует их.

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

Posted: Fri 20 Mar, 2015 15:29
by NightRoman
Да.

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

Posted: Fri 20 Mar, 2015 15:39
by John Doe
Что если обрабатывать их аналогично KEY_EVENT?
Что покажут тесты?

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

Posted: Fri 20 Mar, 2015 15:50
by NightRoman
Проверю потом. Скорей всего, все будет ОК. А если и не ОК, то фиксить скорей надо тесты и проверки, а не кухню. Думаю, что макро клавиши не должны игнорироваться *в обычных случаях*. А необычные можно проверять (макро статус или как там в АПИ).

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

Posted: Sat 21 Mar, 2015 14:20
by NightRoman
Проверил в 4321, где FARMACRO_KEY_EVENT убран, и вместо него стали приходить KEY_EVENT, которые ранее игнорировались. Теперь не игнорируются, убедился. Тесты в порядке. Хоть это ни о чем особом и не говорит в моем случае. Могло бы отвалиться, если бы тесты были "детальнее". Словом, неважно про тесты. Новый подход с одним типом событий мне как-то более по душе.

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

Posted: Sat 21 Mar, 2015 15:35
by John Doe
NightRoman wrote: Новый подход с одним типом событий мне как-то более по душе.
Был способ узнать, что событие пришло из макроса. Сейчас его нет.

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

Posted: Sat 21 Mar, 2015 17:16
by NightRoman
Может быть. Мне пока хватает проверки макро статуса через АПИ. Если этого недостаточно, то надо что-то предложить конструктивное. В этой теме не совсем логично обсуждать.