|
|
Deklaration von Variablen in der Openingfunktion |
|
stealth_mx |
Forum-Fortgeschrittener
|
|
Beiträge: 94
|
|
|
|
Anmeldedatum: 15.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013b
|
|
|
|
|
|
Verfasst am: 11.11.2014, 11:41
Titel: Deklaration von Variablen in der Openingfunktion
|
|
Hallo, ich habe ein größeres Programm
in der Main GUI lade ich in der Openingfunktion z.B. die Pfade, viele Variablen, setze die Standardparameter, setze gewisse Objekte auf Enable OFF, etc.
Dafür rufe ich verschiedene Methoden auf, um die Übersichtlichkeit in der Haupt-GUI zu gewährleisten. Das Manipulieren von Objektparametern klappt gut in den externen Methoden. Dafür übergebe ich 'handles'.
Beim Deklarieren von Variablen, bekomme ich jedoch Probleme. Es klappt nicht, bzw. es deklariert diese Variablen in einem anderen Bereich der von der Haupt-GUI nicht zugänglich ist.
In der externen Methode steht dann
Etwas habe ich nicht richtig verstanden, ich weiß bloß nicht was. Ich kann mich vorstellen, dass ich diese Variablen zurückgeben muss, aber dann habe ich ja nichts gewonnen
Danke im Voraus!
|
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 11.11.2014, 15:17
Titel:
|
|
Hallo
diese Funktion soll auch die veränderten handles zurückgeben, sonst bekommt OpeningFcn nichts von der Änderung.
so:
Oder nutzt in der externen Funktion GUIDATA?
Dann muss man nach der Aufruf dieser Funktion ein handles-Update in der Opening-Fcn machen, damit die Funktion Änderungen mitbekommt sonst überschreibt diese durch GUIDATA.
Jede Funktion hat für ihre Variable nur speziellen Workspace, wird die Funktion beendet, werden auch alle Variablen gelöscht. Stichwort Lokale Variable.
Außer man gibt diese Variable wieder zurück.
GUIDATA oder SETAPPDATA/GETAPPDATA, diese Funktionen sind wichtig um z.B. zwischen Callbacks oder zwischen mehreren Fenstern zu kommunizieren.
In deinem Fall wird ausreichen wenn die Varaible handles wieder zurückgibst.
|
|
|
stealth_mx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 94
|
|
|
|
Anmeldedatum: 15.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013b
|
|
|
|
|
|
Verfasst am: 11.11.2014, 16:49
Titel:
|
|
|
|
|
Hallo, danke für die Antwort, ja nun klappt es wie es soll.
Ich habe da noch eine Frage, die der ersten sehr ähnlich ist.
Ich rufe in meiner Haupt GUI im Menu ein neues GUI Fenster auf. Dort sollen genau die Deklarationen belegt werden die ich in der externen angelegt habe.
Dafür habe ich im neuen GUI Fenster edit Boxen.
Es soll jedoch beim erneuten Öffen des Fensters die alten Werte in die Editboxen laden. Damit ich quasi nicht immer alles neu ausfüllen muss. sondern nur das wechsel was mir bis jetzt nicht passt.
Ich übergebe momentan die Variablen an das neue Fenster, manipuliere sie und gebe sie wieder zurück. dann speichere ich sie in den alten handles. Das ist aber sicher nicht schön und bei größeren Datenmengen auch nicht effizient:
Es soll quasi wie eine Option sein, die man von anderen Programmen kennt. Man stellt was um, guckt sich das Ergebnis an und wenn man damit nicht zufrieden ist, verstellt man solange Variablen in der Option bis die Ausgabe passt. Also ganz klassisches Menuoptionsfenster.
Gibt es auch dafür eine Möglichkeit?
Globale Variablen möchte ich nicht nutzen, weil ich der Meinung bin,dass sie nicht dafür konzeptiert wurden.
Oh, du hast mir ja die Schlüsselwörter ja schon gegeben, Setappdata. Werde mir das die Sachen durchlesen, vielleicht klappt dann auch so.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 11.11.2014, 17:16
Titel:
|
|
|
|
stealth_mx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 94
|
|
|
|
Anmeldedatum: 15.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013b
|
|
|
|
|
|
Verfasst am: 12.11.2014, 12:44
Titel:
|
|
OK super, das klappt auch nun so wie es soll.
Besten Dank
|
|
|
|
|
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.
|
|