0

我将我的 Eclipse RCP 应用程序从 Juno 升级到了 Luna。这导致我的应用程序工具栏被永久禁用。

我在这个线程中找到了一个解决方案:Eclipse Luna: Handlers' @CanExecute methods not called(解决方案:手动生成事件)。但是,唉,治愈没有奏效:-(。

我使用调试器深入研究以找到失败的根本原因。我发现在HandlerServiceHandler.class方法setEnabled(Object evaluationContext)失败。这是由于从评估上下文中提取了错误的执行上下文。

我将详细介绍:发生的情况是,在我对项目浏览器执行选择后,我发送了我的事件。setEnabled(Object evaluationContext)查找与我的工具栏项关联的相关命令的处理程序。但是,它会在项目浏览器的 * 执行上下文 * 中查找处理程序。处理程序不在此上下文中,因此该方法失败!

关于如何解决这个问题的任何想法。我真的不明白我如何能很好地控制我的上下文。

谢谢!!!!!

4

0 回答 0