Вам нужно что-то определенное в глобальном пространстве для оценки строки обратно к вызову функции.
В зависимости от того, как они реализовали RegisterSoftButtonDownCallback
, вы можете зависнуть, определяя саму функцию, а не комбинацию таблицы / поля, такую как myModule.callbackFunc
. Чтобы свести к минимуму загрязнение пространства имен, если вы не можете использовать myModule.callbackFunc
, я бы предложил myModule_callbackFunc=myModule.callbackFunc
или что-то подобное. Ваш код будет выглядеть так:
require "cmodule"
index = 1
myModule_callbackFunc=myModule.callbackFunc
cmodule.RegisterSoftButtonDownCallback(index, "myModule_callbackFunc")
Для лучшего исправления я бы поработал с разработчиками cmodule, чтобы их программа принимала указатель на функцию, а не на строку. Тогда ваш код будет выглядеть так:
require "cmodule"
index = 1
cmodule.RegisterSoftButtonDownCallback(index, myModule.callbackFunc)