У меня есть скелетное приложение с графическим интерфейсом, которое создает простой набор меню, записи которого имеют общую функцию обратного вызова, единственный эффект которой заключается в установке значения глобальной переменной MenuItem, которая отличается для каждой записи. Затем для каждого значения MenuItem внутри выражения Switch-Case вызываются разные функции, Switch-Case удерживается внутри цикла While, условие выхода которого для MenuItem - достижение определенного значения. В хвосте цикла While находится случайный вызов после Switch-Case.
Это работало нормально под Matlab 2009a, но после обновления до Matlab 2011b оно сломалось.
Под Matlab 2011b значение MenuItem изменяется в обратном вызове, но это измененное значение, по-видимому, не распространяется в Switch-Case.
Есть идеи об изменениях между 2009a и 2011b, которые могли бы это вызвать, и обходные пути для них? Я попытался прочитать примечания к выпуску, но не смог найти ничего, что могло показаться актуальным.
(я ценю, что это немного неортодоксальный способ структурирования GUI, он рождается из опыта программирования командной строки)