|
|
daten zwischen 2 GUIs übergeben |
|
Mr.Zed |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.12.15
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.12.2015, 21:21
Titel: daten zwischen 2 GUIs übergeben
|
|
ich bekomme es echt nicht gebacken weil ich die beispiele hier im forum einfach nicht verstehe.
ich habe eine hauptGUI mit m-file. beim start dieser hauptGUI wird eine 2. (und später noch eine 3. GUI geöffnet).
in der ersten GUI stelle ich mit einem slider einen wert ein den ich an die 2. gui übergeben möchte. das ganze soll auch funktionieren wenn ich den wert später nochmal in der hauptGUI ändere. prinzipiell geht es auch nur darum diesen zahlenwert anzuzeigen
ich denke setappdate und getappdata wäre hier das richtige, habe damit auch schon rum probiert aber bekomme es einfach nicht zum laufen
_________________
hier war mal ein Bild...
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 13.12.2015, 00:06
Titel: Re: daten zwischen 2 GUIs übergeben
|
|
Hallo Mr.Zed,
Dann poste doch mal den Code, mit dem Du es probiert hast und erkläre, was nicht so läuft, wie Du es Dir vorstellst. Dann sind Verbesserungsvorschläge viel einfacher und passen zu Deinem existierenden Code.
Was bedeutet genau: "an die 2. GUI übergeben"? Wohin soll der Wert geschrieben werden?
Zitat: |
das ganze soll auch funktionieren wenn ich den wert später nochmal in der hauptGUI ändere. |
Das verstehe ich nicht.
Zitat: |
prinzipiell geht es auch nur darum diesen zahlenwert anzuzeigen |
Bitte erkläre das genau: Wie soll das "angezeigt" werden? Wieso meinst Du dass
setappdata
hier passend wäre? Du möchtest ja eigentlich keine Applicationdata setzen, sondern etwas "anzeigen".
Bisher ist die Frage noch recht allgemein und man muss für eine Antwort sehr weit ausholen. Kannst Du Dich auf ein konkretes Teil-Problem konzentrieren?
Gruß, Jan
|
|
|
Mr.Zed |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.12.15
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.12.2015, 15:58
Titel:
|
|
ich möchte einfach eine variable vond er einen in die andere GUI bekommen. in der 1. gui wird diese variable berechnet(bzw durch deren m-file), in der 2. gui soll dieser wert in einer textbox angezeigt werden.
also in der ersten gui stand in der function wo der wert berechnet wird folgendes:
und in der 2. gui in der function wo ich die variable brauche:
danach hab ich hier im forum noch weiter recherchiert und es damit versucht:
und in der 2. gui:
als fehler bekomme ich:
ich wollte setappdata nutzen da ich ungefähr 12 werte von der einen in die andere gui übergeben muss
_________________
hier war mal ein Bild...
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 13.12.2015, 22:51
Titel:
|
|
Hallo Mr.Zed,
Zitat: |
in der 1. gui wird diese variable berechnet(bzw durch deren m-file), in der 2. gui soll dieser wert in einer textbox angezeigt werden. |
Dann benötigst Du kein
setappdata
. Du möchtest keine ApplicationData setzen, sondern den Inhalt einer Text-Box.
Bei der Erstellung des 2. GUIs kannst Du den Handle der benötigten Text-Box im handles-Struct speichern (falls das nicht sowieso getan wird - arbeitest Du mit GUIDE?). Dann:
das bleibt immer tückisch:
gcf
ändert sich, wenn der User auf ein GUI klickt. Das läuft also manchmal, je nach Aktivität der Nutzer aber auch nicht.
Zitat: |
als fehler bekomme ich:
|
Der Fehler bedeutet, dass der
findobj
Befehl keinen Handle zurückgeliefert hat. Vielleicht hat Dein GUI2 nicht den Tag 'achsauslegung_neu_vorn_' ?
Zitat: |
ich wollte setappdata nutzen da ich ungefähr 12 werte von der einen in die andere gui übergeben muss |
Das verstehe ich nicht. Was hat das mit der Anzahl der Werte zu tun?
Gruß, Jan
|
|
|
Mr.Zed |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.12.15
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2015, 07:27
Titel:
|
|
danke für deine hilfe, jetzt muss ich aber noch mal ganz dumm fragen wo ich den tag der GUI bestimme. ist es einfach der name der .fig oder ist es das tag dass ich unter den properties des hintergrundes der gui im GUIDE (den nutze ich) setze?
mit beiden varianten gibt mir dein code leider das warning aus
_________________
hier war mal ein Bild...
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 15.12.2015, 08:39
Titel:
|
|
|
|
|
Hallo Mr.Zed,
Der 'Tag' ist der Inhalt des Properties namens 'Tag'.
Zitat: |
mit beiden varianten gibt mir dein code leider das warning aus :( |
Bitte poste den Code und die Meldung. Ich kann mir zwar zusammen reimen, was Du meinst. Aber konkrete Informationen sind im Forum immer besser.
Wenn die Figure mit dem entsprechenden Tag nicht gefunden wird, enthält der von mir gepostete Code vielleicht einen Bug. Das Lesen der Docs zu
findobj
zeigt, dass der Flag 'flat' nur im Vektor der übergebenen Handles sucht. Also:
Ersteres ist dabei besser, denn das zweite durchsucht alle erstellten Grafik-Objekte, also auch alle Line's, Legend's, Buttons, Menu's usw. Wenn man mehrere GUIs offen hat, kann das eine spürbare Verzögerung bewirken.
Zusätzlich hat
allchild
noch den Vorteil auch Figures zu finden, deren 'HandleVisibility' ausgeschaltet ist.
Es ist übrigens üblich, dass Vorschläge der Antwortenden Bugs enthalten, denn wir können Deinen Code ja nicht laufen lassen und auch nach 35 Jahren Programmiererfahrung funktioniert mein Hirn doch immer noch nicht so gut wie ein Original-Matlab-Interpreter. :-) Deshalb sind Mitdenken und Debuggen immer erforderlich.
Gruß, Jan
|
|
|
Mr.Zed |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.12.15
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.12.2015, 13:10
Titel:
|
|
ich habe es jetzt doch mit der appdata gemacht, auch wenn die eigentlich vielleicht nicht dafür gemacht ist funktioniert es anscheinend ganz gut:
gui1:
gui2:
danke trotzdem
_________________
hier war mal ein Bild...
|
|
|
Mr.Zed |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.12.15
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.12.2015, 10:20
Titel:
|
|
okay, kommando zurück
ich habe es jetzt auf deinem weg gemacht, musste aber ne weile fummeln bis es funktioniert
Das warning habe ich rausgenommen weil ich das return regulär brauche da beide GUIs auch unabhängig voneinander funktionieren sollen
notwendig wurde der schritt zu deiner variante dadurch dass ich den wert in der 2. gui jedesmal aktualisieren wollte wenn er sich in der 1. gui ändert. mit meiner variante wäre das sehr aufwendig geworden.
also nochmal vielen dank für deine hilfe, jetzt läuft es genau so wie ich es mir vorgestellt habe
_________________
hier war mal ein Bild...
|
|
|
|
|
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.
|
|