Verfasst am: 29.03.2013, 13:55
Titel: Save / Load handles
Hallo an alle!
Vorsicht Anfänger, doofe Fragen folgen
Ich habe ein (hoffentlich) simples Problem, für das ich jedoch trotzdem keine Lösung finden konnte.
Ich hätte gerne die Möglichkeit die gesamte handles Struktur meiner GUI in einer Datei zu speichern und wieder laden zu können.
Das speichern scheint mit 'save' ganz gut zu funktionieren, aber wenn ich das ganze mit 'load' wieder laden will, klappt das nicht.
Ich denke irgendwie bekomme ich es nicht hin, die aktuellen handles mit den geladenen zu überschreiben. Sozusagen.
Mein aktueller Versuch sieht so aus:
Code:
%button save function button_save_Callback(hObject, eventdata, handles)
Das ist jetzt vermutlich total blödsinnig, weil ich meine Probleme immer einfach durch try and error löse, aaaber vielleicht kann mir ja jemand helfen.
Verfasst am: 29.03.2013, 14:33
Titel: Re: Save / Load handles
Hallo Phil254,
Es gibt keine doofen Fragen in diesem Forum.
"Klappt das nicht" ist eine zu ungenaue Beschreibung des Problems. Wir können viel effizienter ein Problem lösen, wenn wir nicht zuerst die Details erraten müssen. Bitte beschreibe also immer, was genau passiert, z.B. eine Kopie der Fehlermeldung.
Es ist hilfreich, für SAVE und LOAD auch die geünschten Variabeln zu spezifizieren. Das ist sicherer, weil man nicht ausversehen lokale Variablen überschreibt:
Code:
%button save function button_save_Callback(hObject, eventdata, handles) % guidata(hObject); % Das ist zweckfrei! % Die Ausgabe des Befehls wird gar nicht verwendet ?! Besser:
handles = guidata(hObject);
[filename, filepath] = uiputfile; % IMMER den Pfad mitbenutzen! save(fullfile(filepath, filename), 'handles');
%button load function button_load_Callback(hObject, eventdata, handles)
Aber bedenke, dass alle Objekt-Handles, die im "handles"-Struct gespeichert sind, falsch sind, falls zwischendurch das GUI geschlossen und wieder geöffnet wurde. Das kann zu einem massiven Durcheinander führen. Ich würde deshalb unbedingt die zu speichernden Daten wie Einstellungen der UI-Objekte, und die zum GUI gehörenden Daten, wie die Handles der Objekte strikt trennen. Eine suabere Trennung von Daten und Programm ist eine zentrale Regel für die Erstellung gut wartbaren Codes.
Sorry dass meine Problembeschreibung etwas dürftig war "klappt das nicht" hieß eigentlich nur, es passiert nichts und es gab auch keine Fehlermeldung.
Aber ich glaube ich habe deine Lösung verstanden. Muss allerdings nun noch etwas an meiner GUI feilen, dass alles so klappt wie es soll, da muss ich wohl noch einiges anpassen um speziell die gewünschten Variablen zu laden..
Wenn Probleme auftregen melde ich mich wieder
Nochmal ein riesen Dankeschön!
Gruß,
Phil.
Einstellungen und Berechtigungen
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.