Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse rcp eclipseluna:Handlers'@由于上下文错误,无法调用CanExecute方法_Eclipse Rcp_Handler_E4_Eclipse Luna_Canexecute - Fatal编程技术网

Eclipse rcp eclipseluna:Handlers'@由于上下文错误,无法调用CanExecute方法

Eclipse rcp eclipseluna:Handlers'@由于上下文错误,无法调用CanExecute方法,eclipse-rcp,handler,e4,eclipse-luna,canexecute,Eclipse Rcp,Handler,E4,Eclipse Luna,Canexecute,我将eclipse RCP应用程序从Juno升级到Luna。 这导致我的应用程序工具栏被永久禁用 我在这个线程中找到了一个解决方案:(解决方案:手动生成事件)。 但是,唉,这种疗法没有起作用 我深入使用调试器查找失败的根本原因。我发现在HandlerServiceHandler.class中,方法setEnabled(对象evaluationContext)失败。这是由于从评估上下文中提取了错误的执行上下文 我会详细介绍: 在project explorer上执行选择后,我会发送我的事件。set

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

我在这个线程中找到了一个解决方案:(解决方案:手动生成事件)。 但是,唉,这种疗法没有起作用

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

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

关于如何解决这个问题有什么想法吗?我真的不明白如何才能很好地控制我的上下文


谢谢!!!!!

那么您在哪里定义处理程序?在e4xmi文件中,我定义了一个处理程序。该处理程序连接到一个连接到工具栏项的命令。是的,但是在e4xmi中,它在顶级处理程序列表中还是在特定窗口的处理程序列表中?处理程序查找应该工作,所有上下文都来自activ搜索应用程序上下文的e页。您的处理程序将在应用程序上下文中。您确定命令id正确吗?我使用“查找”按钮将命令链接到e4xmi中的处理程序和工具项。因此,我看不出哪里会出错。顺便说一句,谢谢您的回答。