私はお互いの正確なコピーである 2 つの gui を持っています。
ただし、各 GUI では一部の機能のみが使用されます。私は基本的にモノリシック GUI を 2 つの異なる名前で GUIDE に保存しました。
モノリスをサブ GUI に分割しています。それぞれが同じ fig ファイルを持ちますが、異なる名前で GUIDE に保存されます。
SubguiA と subguiB は、親 GUI の 2 つのボタンから起動されます。各 subgui には、「UserData」が 3005 に設定された usercontrol(a panel) があります。ボタン 1 から subguiA を実行します。button2 から subguiB を実行し、ステップインして、内部から hpanel = findobj('UserData',3005) を要求します。 subguiB のいずれかのテキスト ボックスの CreateFcn。メモリ内にそのようなパネルが 2 つあるため、hpanel を 2x1 double として返します。わかりました。
そのため、hpanel を「親」として使用してテキスト ボックスのユーザーデータを設定しようとすると、hpanel は 1x1 であるはずなので、アプリがクラッシュします。私は、findobj で subguiB のハンドルを使用して、findobj を subguiB に具体的に制限すると考えました。ただし、subguiB のテキスト ボックスの CreateFcn が実行されているときは、subguiB 全体の hObject がまだありません。subguiB 全体の hObject は、subguiB の OpeningFcn から使用できます。これは、その上のすべてのユーザー コントロールの CreateFcns が実行された後にのみ実行されます。
問題は、findObj を subguiB (現在作成中のオブジェクト) でのみ検索するように制限するにはどうすればよいかということです。ありがとう