Разница между private property и public property в appdesigner
25.05.2020
Здравствуйте. В главном окне многооконного приложения я прописал публичное свойство.
Например:
properties (Access = public)
x1="текст"; % Description
end
Мне нужно получить доступ к этой переменной в окне диалога. Но в диалоговом окне синтаксис app.x1 и просто x1 не работает и сообщает о несуществующей переменой. Я честно говоря, думал, что по аналогии с публичной функцией смогу это сделать.
Проблему удалось решить только путем передачи нужной переменной во входные параметры дилогового окна (App Input Arguments). Возникает вопрос. Чем тогда публичная переменная отличается от частной, для чего она нужна? Или я где-то ошибся?
Ответы
Здравствуйте. Чтобы обратиться к публичному свойству, надо сначала создать объект приложения, а потом обращаться к его свойствам.
Пример:
В приложении
AppWithPubProp
есть публичное свойствоPubProp1
. Вот код, чтобы к нему обратиться:Спасибо.
Надо будет попробовать, а то в справке ничего толкового найти не удалось
как так? Информационная поддержка matlab одна из самых обширных. (По-рекламски прозвучало. Пофиг, раз правда, не буду корректировать.)
Может я невнимательный человек, но по интересующему меня вопросу на приведенной Вами странице ничего не нашел.
Если по существу, то самый простой найденный мной метод - использовать в диалоговом окне публичную переменную через переменную CallingApp, в которой хранится объект вызывающего (главного) приложения.
Получается примерно так
app.CallingApp.PublicProp
По ссылке:
Абзац "Использование класса".
Строчка два: "Создайте объект класса."
Об этом говорил коллега Павел Рословец.
PS: Начал писать ответ, когда ответа от Павла Рословеца (прошу прощения если не верно употребил родительный падеж для Вашей фамилии) еще не было. Так-то по идее и смысла небыло в моем посте)))
Спасибо, проблема то решена в принципе, но пока я не слишком силен в программировании чтоб сразу перейти от общих построений классов и т.д. к практике. Поэтому Ваш пост не сильно помог.
Ок. Это главное.