multiple instances of gui open at once

3 次查看(过去 30 天)
MCM
MCM 2015-10-26
评论: Jan 2015-10-26
Hello,
I created a GUI that asks the user for several parameters before running a model. I give the user the option to save a specific run to use later. I use the hgsave(filename) function. But when the user opens the saved run, 3 instances of the GUI appear.
I can just close 2 of them and the 1 works fine, but I'd really like to stop 3 from appearing before giving the model to my users. Anyone have any ideas? I don't even know where to start debugging this problem. I never had this problem in R2014a but since graphics handles were changed to objects (R2014b or higher), I have duplicates
Thanks
  5 个评论
MCM
MCM 2015-10-26
"save a specific run" just means save the current GUI. Aka save all the parameters that the user has entered. Which literally means just save the GUI as it is right now.
The only command that opens the figure is the Opening Fcn function which is standard.
Basically my question is: why when I open something saved using hgsave does it open 3 instances? I never had this problem in R2014a but since graphics handles were changed to objects, I have duplicates
Jan
Jan 2015-10-26
Why do you save the complete GUI? It sound like you want to save the value of the UICONTROLs only. You observe the side-effects and they disturb you. So avoid the side effects by choosing a method, which does not have it: Save the user-defined values of the uicontrols only.

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2015-10-26
Bold guessing: The problem is inside the code, which is processed for "user opens the saved run". So set a breakpoint there and stept throught your code line by line. You will see, which lines open the unwanted figures.
  1 个评论
MCM
MCM 2015-10-26
My first instinct was to set breakpoints to locate an error inside the code too. So I set a break point in the very first line of the code. The duplicates were created before the break point was initiated. So I set a break point in EVERY subfunction of my code, same thing.

请先登录,再进行评论。


MCM
MCM 2015-10-26
When I use the Import Data button or double clicked on file (equivalent to load(filename)) the duplicates appear seemingly before my GUI code initiated (see comment about break points).
But when I use hgload(filename) everything opens properly aka only one instance. I have absolutely no idea why. But it works :)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by