ich weiß nicht, wo meine Blockade liegt, aber ich bekomme es einfach nicht hin, mittels appdata oder guidata Variablen lokal innerhalb des GUI's verfügbar zu machen, ohne sie immer extra übergeben zu müssen. Die Hilfen habe ich mehrmals durchgelesen, deshalb versuche ich es jetzt mal hier.
Kurz zu meinem Problem: Ich lade über einen Datei-Button einen Datensatz in eine/mehrere Variablen. Beim Klick eines anderen, beliebigen Buttons möchte ich auf diese Daten zugreifen können (bisher kommt immer die Meldung, dass die Variable nicht definiert ist).
Und jetzt zum Verständnisproblem: In der Hilfe bzw. in Tutorials zu diesem Thema steht immer sowas wie
Von der Logik her kann ich das komplett nachvollziehen, die Variablen liegen dann quasi in der obersten ebene. Ich habe mein GUI aööerdings über den GUI Editor erstellt, deswegen liegen die Infos zum Layout vermutlich in der .fig-Datei, sprich, ich habe keine Ahnung, was ich in meinem Fall bei setappdata() für das fh einsetzen soll! In meinem Code sieht es etwa so aus:
Code:
functionvarargout = testGUI(varargin) ... function testGUI_OpeningFcn(hObject, eventdata, handles, varargin)
..
functionvarargout = testGUI_OutputFcn(hObject, eventdata, handles)
..
function pushbutton1_Callback(hObject, eventdata, handles)
..
% hier wird der Datensatz eingelesen, z.B. daten = load(..);
..
function pushbutton2_Callback(hObject, eventdata, handles)
..
% hier möchte ich auf "daten" ohne Einschränkungen zugreifen können!
..
"fh" ist in Deinem Beispiel der FIGURE Handle. Die Callbacks bekommen immer als ersten Input den Handle des aufrufenden Objektes. Nun kannst Du diesen benutzen, um an den FIGURE Handle zu kommen:
Dann kannst Du die Daten per SETAPPDATA und GETAPPDATA in der Figure speichern. Das macht übrigens auch GUIDATA intern - vielleicht hilft Dir der Befehl auch weiter.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.