GUIツールバーにロードボタンがあります。これをクリックすると、ダイアログからファイルを選択できます。 sys
という名前のオブジェクトを持つ.matファイルを開きます。ハンドル構造の変更後にMATLAB GUIがオブジェクトを「忘れる」
私は、ファイルを選択すると、コールバックは、次のコードを実行することになっている:私はhandles.sysを呼び出し、すべてがそこにあることがわかります。このコールバックのコードの残りの部分について
handles.sys = sys;
%% A bunch of other stuff to populate values from sys into the gui text fields %%
を。しかし、この関数を終了すると、handles.sysはsysと同等ではありません。 guiがhandles.sysオブジェクトを "忘れてしまった"かclobberedしたようです。
なぜこれが起こり、これを行う正しい方法は何ですか?コンストラクタを使用してsysオブジェクト全体を再構築する必要がありますか?handles.sys = newsys
? sysオブジェクトが一時的なopenfile_Callback
関数のワークスペース内にしか存在しなかったので、それは起こっていますか?
私はguidata(handles.figure1、handles);を使用しなければなりませんでした。これは、デフォルトでmatlabが作成するものです。 – toshiomagic
@toshiomagic。私が言ったように、私はちょうど例として 'handles.fig'を使用しました。誰にとっても違うでしょう。 – Suever