Eclipse Luna: методы @CanExecute обработчиков не вызваны из-за неправильного контекста

Я обновил свое приложение RCP Eclipse с Juno на Luna. Это заставило мою панель инструментов приложения быть постоянно отключенной.

Я нашел решение в этой теме: Eclipse Luna: не вызваны методы @CanExecute обработчиков (решение: создать событие вручную). Но, увы, лекарство не сработало:-(.

Я углубился в отладчик, чтобы найти основную причину сбоя. Я обнаружил, что в HandlerServiceHandler.class метод setEnabled(ObjectvaluationContext) завершается ошибкой. Это связано с извлечением неправильного контекста выполнения из контекста оценки.

Я более подробно расскажу: что происходит после того, как я выполню выбор в проводнике проекта, я отправляю свое событие. SetEnabled (ObjectvaluationContext) ищет обработчик соответствующей команды, которая связана с моим элементом панели инструментов. Однако он ищет обработчик в * контексте выполнения * проводника проекта. Обработчик не в этом контексте, поэтому метод не работает!!

Любые идеи о том, как решить эту проблему. Я не очень понимаю, как я могу хорошо контролировать свои контексты.

Спасибо!!!!!

0 ответов

Другие вопросы по тегам