О команде far.Message()

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
citRiks
Posts: 1105
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 345 times
Been thanked: 57 times

О команде far.Message()

Post by citRiks »

Сообщение, посылаемое командой

Code: Select all

lua:far.Message(msg,"","")

в качестве диалога не распознаётся.

А посылаемое вот такой командой:

Code: Select all

lua:far.Message("Нативная (внутренняя) команда Far на ключ ".."ключ".." не назначена.\n\nДа  --  закрыть.  Нет  -- вернуться в меню.","ВНИМАНИЕ !",";YesNo")

опознаётся как диалог, имеющий тот же гуид, что и плагин LuaMacro – 4EBBEFC8-2084-4B7F-94C0-692CE136894D.

По каким признакам можно определить будет ли создан командой far.Message() диалог?

И можно ли такому диалогу произвольно из создающего его макроса назначить обособленный гуид?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
John Doe
Бюрократ
Posts: 13003
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 40 times
Been thanked: 310 times

О команде far.Message()

Post by John Doe »

citRiks wrote: Sat 04 Jan, 2020 14:13 в качестве диалога не распознаётся.
Потому что диалог не создаётся. В документации этот очень специфический случай описан так:
https://api.farmanager.com/ru/service_functions/message.html wrote:Замечания
1. Если ButtonsNumber равен 0 (флаги FMSG_MB_* не используются) и выведенное сообщение больше не нужно, то плагин должен восстановить экран, используя функцию RestoreScreen или любым другим путём.
По каким признакам можно определить будет ли создан командой far.Message() диалог?
Вы задали 0 кнопок, вместо создания реального полнофункционального диалога рисуется "фантом" в буфере экрана.

О гуиде речь не идёт, у нас не интерактивный диалог а статичный рисунок.

Обсуждалось: search.php?keywords=Message&terms=all&a ... 1%81%D0%BA
Shmuel
Posts: 6194
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 337 times

О команде far.Message()

Post by Shmuel »

citRiks wrote: Sat 04 Jan, 2020 14:13 И можно ли такому диалогу произвольно из создающего его макроса назначить обособленный гуид?
А вы описание в мануале читали? там же 6-й аргумент специально для этого.
Post Reply

Return to “Нужна помощь”