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 » Wed 11 Nov, 2015 23:15

При попытке вызвать функцию 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: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Plugin.SyncCall

Post by Shmuel » Wed 11 Nov, 2015 23:33

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 » Thu 12 Nov, 2015 22:50

Shmuel wrote:Можно вызывать. У меня работает.
Да - вроде заработало.
Просто я в качестве development-среды для минимизации MINFARMANAGERVERSION довольно древнюю сборку фара использовал (4134).
И в ней эта конструкция не работает...

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Plugin.SyncCall

Post by Shmuel » Thu 12 Nov, 2015 23:02

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 » Fri 13 Nov, 2015 21:57

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

Post Reply

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

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest