最近我们将rcp应用程序升级到了e4。我们正在使用火星。我正在尝试e4事件总线。我将PlatformUI.getWorkbench().getService(IEventBroker.class);
添加到对话框类代码中。但是,这将返回null。我读过IEventBroker是e4平台的内在组成部分。这里可能缺少什么?
答案 0 :(得分:0)
您不会在纯e4应用程序(或org.eclipse.ui.xxx
插件中的任何其他内容)中使用IEventBroker
。
您应该注入IEclipseContext
或从ContextInjectionFactory.make
获取。
请注意,如果以正常方式创建注入,则不会在对话框中执行注入。您可以使用foreach(array_combine($cols,$vals) as $col => $val) {
$f->bindParam(':'.$col,$val,PDO::PARAM_INT); // loop through columns and values array and bind those params
}
创建一个带注入的类。