Matlab GUIDE GUI Обрабатывает изменение значений после использования функции Load ()?

Внутри графического интерфейса, который я сделал с помощью GUIDE в Matlab. Я столкнулся с проблемой, когда при использовании функции Load() для загрузки файла .MAT все мои дескрипторы меняют значения. Это означает, что если бы у меня была кнопка, которую я хотел бы использовать в своем графическом интерфейсе. Моя программа будет полагать, что ее дескриптор, например,

 handles.button1 =190.082

когда на самом деле единственный способ получить доступ к этой кнопке — через другой неизвестный дескриптор. Итак, если его неизвестно, давайте посмотрим, каким должен быть его новый дескриптор.

findobj('Tag','button1') = 227.0093

Как видите, эти цифры совершенно разные. Почему значения дескрипторов меняются, мне не понятно. Поскольку дескрипторы изменились, я больше не могу использовать функцию set(), как я писал в предыдущих разделах кода. Например, я должен изменить

set(handles.button1, 'Enable', 'off');

to 

set(findobj('Tag','button1'),'Enable','off');

У кого-нибудь есть объяснение, почему эта проблема возникает при использовании Load()? Есть ли реальное решение вместо того, чтобы искать дескриптор объекта каждый раз, когда вы хотите его использовать?


person David Hassan    schedule 18.04.2013    source источник
comment
Почему вы загружаете значения дескриптора? Это нормально, что они меняются.   -  person HebeleHododo    schedule 18.04.2013
comment
Прошу прощения, если вы так интерпретировали мой вопрос. Я не загружаю значения дескриптора с помощью Load(). Я использую Load() для загрузки некоторых внешних переменных из другой программы. При использовании функции Load(). Моя программа меняет все свои дескрипторы.   -  person David Hassan    schedule 18.04.2013
comment
Вероятно, это связано с тем, что в вашем файле .mat есть структура дескрипторов. Не загружайте его или удалите из файла .mat.   -  person HebeleHododo    schedule 18.04.2013
comment
Да, спасибо HebeleHododo. Я не знал, что у .mat тоже есть ручки. Что ж, думаю, сегодня я чувствовал себя достаточно глупо.   -  person David Hassan    schedule 18.04.2013


Ответы (1)


В файле .MAT также была удобная переменная handles, которая перезаписывала мои текущие handles.

person David Hassan    schedule 18.04.2013