Plugin.SyncCall

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

Plugin.SyncCall

Postby 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: 4944
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 123 times

Plugin.SyncCall

Postby Shmuel » Wed 11 Nov, 2015 23:33

stasf wrote:Source of the post Plugin.SyncCall действительно нельзя вызывать в этом контексте?

Можно вызывать. У меня работает. Только что запустил таким образом тест одного плагина из другого плагина (ни один из них не LuaMacro).
В чём дело у вас, затрудняюсь сказать.

stasf
Posts: 109
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

Plugin.SyncCall

Postby stasf » Thu 12 Nov, 2015 22:50

Shmuel wrote:Source of the postМожно вызывать. У меня работает.


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

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

Plugin.SyncCall

Postby Shmuel » Thu 12 Nov, 2015 23:02

stasf wrote:Source of the post довольно древнюю сборку фара использовал (4134).
И в ней эта конструкция не работает...

Это работает, начиная с билда 3664.

stasf
Posts: 109
Joined: Wed 10 Dec, 2014 22:53
Has thanked: 2 times
Been thanked: 1 time

Plugin.SyncCall

Postby stasf » Fri 13 Nov, 2015 21:57

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


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

Who is online

Users browsing this forum: No registered users and 2 guests