|
|
Vorab geladenen "Edit-Text"-Wert überschreiben |
|
BadBor |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 20.05.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.05.2014, 10:45
Titel: Vorab geladenen "Edit-Text"-Wert überschreiben
|
|
|
|
|
Hallo allerseits,
Ich versuche mich gerade erstmals an GUI und habe mich mit viel Arbeit und (Internet-)Lektüre langsam vorgetastet. Jetzt hänge ich aber an einer vermeintlich banalen Stelle und finde keine Lösung dafür (beziehungsweise ich erkenne mein Problem nirgends wieder).
Meine GUI besteht aus:
1) einem "Edit Text"-Feld
2) einem "Push Button"-Feld
Letztendlich enthält 1) eine Variable, die eine Funktion verwendet, dich ich unter 2) verstaut habe (und durch Klicken ausgelöst wird).
Soweit so gut.
Um die Variable nicht immer eintragen zu müssen, möchte ich mir den zuletzt benutzten Wert beim Start automatisch eintragen. Dazu lade ich ihn in der CreatFcn (siehe unten 1b)) aus einer UserData.mat und speichere den verwendeten (eventuell ja geänderten) Wert am Ende von 2) wieder in diese Datei ab.
1a)
1b)
Das Verfahren funktioniert mit (manuell vorgegebenem) UserData.mat-Wert, wie es soll.
Sobald ich den Wert ändere, verweigert das Programm den Dienst, meldet
??? Error using ==> get
Invalid Handle Object.
Ich lese an dieser Stelle die handles.vari-Variable ein mit
Nun habe ich irgendwo gelesen, dass ich die Callback-Funktion (1a)), die ja nach der CreateFcn (1b)) abläuft, das existierende handles.vari nicht überschreibt, sondern ein neues, gleichnamiges an die Struktur anhängt - das würde erklären, warum es nicht funktioniert, sobald ich den Wert ändere (und nur dann).
Stimmt das?
Und, noch viel wichtiger, wie sorge ich dafür, dass 2) nur den aktuell in 1) eingetragenen Wert nutzt?
Vielen Dank schon einmal
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 27.05.2014, 19:42
Titel:
|
|
Hallo,
wenn ein Element einer GUI das Tag 'vari' hat, dann darfst du handles.vari nicht zum Speichern eigener Daten in der GUI verwenden, weil du sonst den Verweis auf das GUI-Element überschreibst.
Grüße,
Harald
|
|
|
BadBor |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 20.05.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.05.2014, 06:42
Titel:
|
|
Der Trick schien gewesen zu sein, im Callback die hier vierte Zeile einzufügen:
Jetzt scheint es zu funktionieren...
Ich schlag mich dann mal mit Radio Button Groups rum^^
Danke trotzdem.
|
|
|
BadBor |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 20.05.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.05.2014, 12:04
Titel:
|
|
Nein, doch nicht...
Jetzt bekomme ich doch die Meldung
??? Error using ==> set
Conversion to double from struct is not possible
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.05.2014, 12:32
Titel:
|
|
Hallo,
du kannst eine Eigenschaft nur für ein Objekt setzen, nicht für eine ganze Struktur.
Grüße,
Harald
|
|
|
BadBor |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 20.05.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.06.2014, 07:15
Titel:
|
|
Vielen Dank, das wars!
Mit
funktioniert es genau so, wie es soll.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|