我将我的Eclipse RCP应用程序从Juno升级到Luna。 这导致我的应用程序工具栏被永久禁用。
我在这个帖子中找到了一个解决方案:Eclipse Luna: Handlers' @CanExecute methods not called(解决方案:手动生成事件)。 但唉,治愈无效: - (。
我用调试器深入研究,找出失败的根本原因。我发现在 HandlerServiceHandler.class 中,方法 setEnabled(Object evaluationContext)失败。这是因为从评估上下文中提取了错误的执行上下文。
我会详细介绍: 发生的事情是,在我对项目资源管理器执行选择后,我发送了我的事件。 setEnabled(Object evaluationContext)查找与工具栏项关联的相关命令的处理程序。但是,它在项目资源管理器的*执行上下文*中查找处理程序。处理程序不在此上下文中,因此方法失败!!
有关如何解决此问题的任何想法。我真的不明白我如何能很好地控制自己的情境。
感谢!!!!!