"Ограничения в использовании некоторых функций"

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Ошибка при вызове Plugin.Call из Event'а

Post by John Doe »

Latest post of the previous page:

Вероятно вот в этом: hh.exe %FARHOME%\Encyclopedia\macroapi_manual.chm::/62.html
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Ошибка при вызове Plugin.Call из Event'а

Post by Max Rusov »

Там ничего не сказано про вызов из Event'ов редактора или произвольных Event'ов. Если нельзя, то стоит дополнить.
Ну и диагностика ошибки, конечно, неудачная.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Ошибка при вызове Plugin.Call из Event'а

Post by John Doe »

Зато там написано как это можно в некоторых случаях обойти.
far.MacroPost
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: LuaMacro — Lua как язык макросов

Post by tstr »

Shmuel wrote:hScr не играет роли здесь, он игнорируется LuaFAR'ом.
  1. function printToFARConsole(...)
  2.  
  3.   panel.GetUserScreen()
  4.  
  5.   io.write(...)
  6.  
  7.   io.write("\n")
  8.  
  9.   panel.SetUserScreen()
  10.  
  11. end
И вылезла попутно одна проблема: io.write не выводит правильно в консоль текст в UTF-8.
спасибо, учту.

ещё такой вопрос: на Lua файлы настроена , при этом на файле с получаю . в чём источник проблемы?
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel »

Используйте ассоциацию

Code: Select all

lm:post @"!\!.!"
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: LuaMacro — Lua как язык макросов

Post by tstr »

Shmuel wrote:Используйте ассоциацию

Code: Select all

lm:post @"!\!.!"
очень интересно, с чем связано разное поведение? на первый взгляд окружение в обоих вариантах очень похоже, адрес функции print тот же.
это связано с разной обработкой эксепшенов?
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel »

tstr wrote:очень интересно, с чем связано разное поведение?
Связано со способом реализации макросов в Фаре и LuaMacro (посредством корутин).
Есть список "функций с ограничениями" в macroapi_manual.chm. Эти функции должны вызываться из Lua, а не из Си. В вашем примере - функция dofile - это Си-функция. Если заменить её на loadfile(filename)() - всё будет работать.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Plugin.Call & condition

Post by Max Rusov »

Я так понимаю, что сейчас нельзя вызывать Plugin.Call из Condition? Можно ли надеяться на изменение ситуации?
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Plugin.Call & condition

Post by Shmuel »

Plugin.Call, также как Keys и некоторые другие ф-ции передаёт управление Фару и реализован как часть макроса, а condition() вызывается до начала исполнения макроса. Это не означает, конечно, принципиальной невозможности реализации, но не исключено, что может потребовать существенных изменений в коде.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Plugin.Call & condition

Post by Max Rusov »

Ну, жалко, конечно. Иногда хочется, чтобы макросы плагина активизировались в зависимости от состояния плагина. Например, для FarHints макрос на Esc срабатывал и гасил Hint только если он есть...
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Plugin.Call & condition

Post by Shmuel »

Вы не любитель мантиса, вроде, но не помешало бы.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Plugin.Call & condition

Post by Max Rusov »

Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Plugin.Call & condition

Post by Shmuel »

По идее, должно быть возможно реализовать это как "синхронный" вызов, но надо будет посмотреть практически.

Примечание модератора: продолжение http://forum.farmanager.com/viewtopic.p ... 41#p113141
Post Reply

Return to “Обсуждение макросов”