在我的插件中,我需要能够在插件加载后触发事件。
我不想使用内置机制(将其添加到对象参数中),因为我需要能够控制与事件触发一起发送的参数。
问题是当我尝试在其中触发事件时onPluginReady
它不会触发。在调试时我注意到它m_proxies
是空的(在JSAPIImpl::FireEvent
),但是如果我尝试在方法中触发事件的相同代码onMouseDown
那么它运行良好.
这是我的 createJSAPI 代码:
FB::JSAPIPtr plugin::createJSAPI()
{
this->jsApi = JSApiPtr(new pluginAPI(FB::ptr_cast<plugin>(shared_from_this()), m_host));
return this->jsApi;
}
这是 onPluginReady 代码:
void plugin::onPluginReady()
{
this->getRootJSAPI();
this->jsApi->fireMyEvent(this->myId);
}
并且事件不会被触发,尽管这样做:
bool plugin::onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *)
{
this->jsApi->fireMyEvent(this->myId);
return false;
}
这是为什么?
谢谢。