Pharo: ошибка меню


Я что-то сломал в своем Фаро-образе, но не знаю точно, что именно. Теперь, когда я пытаюсь файл-из моего пакета, чтобы вставить в новый образ, я вижу только "почему вы видите это меню" и "отладка". Если я пробегаю menu debug на детской площадке, я получаю a FallbackMenu. Как я могу исправить эту ошибку?

EDIT: когда я пытаюсь нажать на мой пакет, системный браузер ведет себя очень странно и появляется следующая ошибка: link

Используя Ваш код Макса, я получаю 2 ключа nil:

  • первый из них-это ошибка в моем коде (я назначил привязку класса к nil вместо переменной экземпляра с тем же именем). Но я не могу редактировать это, потому что я не могу получить доступ к нему через системный браузер.
  • второй-ActiveEvent. Я не знаю, откуда это взялось и является ли этот или предыдущий ноль причиной странного поведения системного браузера
1 3

1 ответ:

Одна из возможностей заключается в том, что вы обнулили привязку класса. Проверьте следующее, Чтобы получить список ключей и значений, которые равны нулю:

Smalltalk globals associations select: [ :assoc |
    assoc value isNil or: [
        assoc key isNil ] ].

Кстати: вместо того, чтобы прикреплять снимок экрана, было бы полезно, если бы вы прикрепили стек. Чтобы получить трассировку стека, щелкните правой кнопкой мыши на самой верхней записи в списке стека (той, что выбрана на снимке экрана) и выберите "Копировать в буфер обмена". Затем вставьте содержимое (или, по крайней мере, первые 30 кадров) сюда.

Обновление ActiveEvent кажется нормальным. Я есть то же самое. Второй вариант, скорее всего, проблематичен. Вы можете обмануть свой выход, удалив запись:

Smalltalk globals removeKey: nil.

Если сделать быструю попытку, и это, кажется, работает.