Updating application data from several GUI's
古いコメントを表示
Hello
I have a problem in storing appdata to already stored appdata.
I have two GUIs at the moment, this number will increase to one main GUI and several subGUIs.
well back to the problem; in my mainGui i create and store a cell array within the root
setappdata(0, 'hMainGui', gcf);
where the cell array has been stored within the current figure, both actions are made within the mainGuis openingfcn.
Now in the subGui I call the appdata
hMainGui = getappdata(0 , 'hMainGui');
cellArray = getappdata(hMainGui, 'cellArray');
I make a lot of processing of the cellArray after this, where every change in the cellArray is stored within hMainGui
setappdata(hMainGui, 'cellArray', cellArray);
now to the problem part; when this subGui is finished the updated information needs to be stored, such that other gui are able to obtain this information. what I have done so fare, and what isn't working is to set the hMainGui in the root directory again
setappdata(0, 'hMainGui', hMainGui);
My thoughts where that this would update the hMainGui stored in the root directory, but it doesn't. the information stored in the cellArray has not been updated when I call the information later in the process.
any suggestions?
more code can be added if need be.
kind regards
Steffan
採用された回答
その他の回答 (1 件)
Jarrod Rivituso
2011 年 5 月 5 日
When you write
setappdata(0, 'hMainGui', hMainGui);
MATLAB is literally just storing a number to the root level object 0. This number is seemingly the handle to what you are calling the main GUI. However, any data associated with the GUI via setappdata is not stored to the root level object, only the handle is stored.
If you don't close the main GUI, then the data should remain persistent. Are you closing the GUI at some point and then reopening it?
カテゴリ
ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!