Plugin.SyncCall

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

Plugin.SyncCall

Post by stasf »

При попытке вызвать функцию Plugin.SyncCall из LUA-кода, вызванного с помощью MCTL_EXECSTRING,
получаю вот такое сообщение:

Code: Select all

=============================== Error ===============================¬
¦ C:\Users\stas\Documents\Projects\far\unicode_far\Release.32.gcc\   ¦
¦ plugins\LuaMacro\luamacro.dll:                                     ¦
¦ ...unicode_far\Release.32.gcc\plugins\Hiver\Artifacts\test4:8:     ¦
¦ attempt to call field 'SyncCall' (a nil value)                     ¦
¦ stack traceback:                                                   ¦
¦    ...unicode_far\Release.32.gcc\plugins\Hiver\Artifacts\test4:8:  ¦
¦ in function 'chunk'                                                ¦
¦    ...unicode_far\Release.32.gcc\plugins\LuaMacro\luamacro.lua:    ¦
¦ 308: in function <...unicode_far\Release.32.gcc\plugins\LuaMacro\  ¦
¦ luamacro.lua:304>                                                  ¦
¦--------------------------------------------------------------------¦
¦                               { OK }                               ¦
L====================================================================-
Это так и должно быть? Plugin.SyncCall действительно нельзя вызывать в этом контексте?

На всякий случай текст LUA-кода:

Code: Select all

local GUID, hInst, sHive, sTmpFile = ... 

local c = string.format("%s %p, %s, %s",  GUID,hInst, sHive, sTmpFile)
far.Message (c)

local ret = Plugin.SyncCall (GUID, hInst, sHive, "some command")

return ret
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Plugin.SyncCall

Post by Shmuel »

stasf wrote: Plugin.SyncCall действительно нельзя вызывать в этом контексте?
Можно вызывать. У меня работает. Только что запустил таким образом тест одного плагина из другого плагина (ни один из них не LuaMacro).
В чём дело у вас, затрудняюсь сказать.
stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

Plugin.SyncCall

Post by stasf »

Shmuel wrote:Можно вызывать. У меня работает.
Да - вроде заработало.
Просто я в качестве development-среды для минимизации MINFARMANAGERVERSION довольно древнюю сборку фара использовал (4134).
И в ней эта конструкция не работает...
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Plugin.SyncCall

Post by Shmuel »

stasf wrote: довольно древнюю сборку фара использовал (4134).
И в ней эта конструкция не работает...
Это работает, начиная с билда 3664.
stasf
Posts: 111
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

Plugin.SyncCall

Post by stasf »

Shmuel wrote: Это работает, начиная с билда 3664.
Ага - кажется разобрался - это я в ходе предыдущих изысканий слегка подпортил настройки development-среды.
В результате, не совпадали версии luafar3.dll и luamacro...
Post Reply

Return to “Разработка плагинов”