|
|
Wie übergebe ich handles von einem zum anderen GUI? |
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 29.11.2012, 10:42
Titel:
|
|
clustering_n00b hat Folgendes geschrieben: |
Okay - habe das Problem nun selber gelöst.
Lokal war das Stichwort. Da beide handles nur lokal gültig waren habe ich den settings Struct als globale Variable definiert.
Ich muss also MainGUIhandles nicht an SettingsGUI übergeben und auch nichts zurückholen müssen.
Vielleicht hilft diese Antwort jemand anderen weiter |
Wie gesagt es ist ein Fehler, GLOBALE Variablen sind gefährlich: schwer zu verwalten und zu debuggen. Und nicht zu vergessen die globale Variablen müssen auch noch gesondert gelöscht werden.
Es wäre besser wenn du die Handles wirklich über GUIDATA oder SETAPPDATA/GETAPPDATA verwaltest, dazu bietet ja Matalab diese Funktionen wohl nicht umsonst?!
Eventuell musstest du einfach die veränderten handles an der Stelle aktualisieren
handles= guidata(MainGuiHandle);
|
|
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 29.11.2012, 17:38
Titel:
|
|
denny hat Folgendes geschrieben: |
Es wäre besser wenn du die Handles wirklich über GUIDATA oder SETAPPDATA/GETAPPDATA verwaltest, dazu bietet ja Matalab diese Funktionen wohl nicht umsonst?!
Eventuell musstest du einfach die veränderten handles an der Stelle aktualisieren
handles= guidata(MainGuiHandle); |
Hey denny!
Ich habe es nochmals versucht, und zwar:
In MainGUI.m
Dies ist ein Beispielstring, der auf 'abc' gesetzt wird, und desser Verlauf ich jetzt beobachten möchte.
'abc' wird auch auf der Konsole angezeigt.
In SettingsGUI.m
Und erneut wird 'abc' auf der Konsole angezeigt.
Da läuft doch was schief?
Und jetzt der Test in MainGUI.m:
Und wieder der String 'abc'.
Keinmal ist 'cba' gezeigt worden.
Ich versteh' das Zeug echt nicht mehr.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 29.11.2012, 17:48
Titel:
|
|
Hallo
Wenn du SETAPPDATA verwendest, musst entsprechend an anderer Stelle GETAPPDATA benutzen:
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 29.11.2012, 18:06
Titel:
|
|
denny hat Folgendes geschrieben: |
Hallo
Wenn du SETAPPDATA verwendest, musst entsprechend an anderer Stelle GETAPPDATA benutzen:
|
Hey denny!
Das hat ja tatsächlich wunderbar funktioniert!!!
Aber kannst du mir erklären, wieso in SettingsGUI_OpeningFcn beim zweiten fprintf-Statement die Ändering zu 'cba' nicht angezeigt wird?
Es wird nämlich wieder 'abc' angezeigt.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 30.11.2012, 10:03
Titel:
|
|
Hallo
Wie gesagt stets kontinuierlich bleiben. Wenn du SETAPPDATA verwendest, musst du die Daten wieder mit GETAPPDATA auslesen
Das heißt: Statt GET bitte dann GETAPPDATA verwenden:
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 05.12.2012, 20:42
Titel:
|
|
Vielen Dank denny!
Das Thema hat sich nun endlich erledigt!
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
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 - 2025
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.
|
|