|
|
Saubere Variablenübergabe und Codeaufbau? |
|
moongoblin |
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.03.2011, 09:43
Titel: Saubere Variablenübergabe und Codeaufbau?
|
|
|
|
|
Eine relativ allgemeine Frage:
Ich bin kein Programmierspezialist und auch bei Matlab erst seit einigen Wochen dabei.
Nach meinem Kenntnisstand ist es aber sinnvoll den Code eines umfangreichen Programms in Einzelskripte/Funktionen aufzuteilen, die dann aus dem Hauptskript aufgerufen werden. Zwecks Übersichtlichkeit, späteren Veränderungen etc.
Bei einer über guide programmierten GUI ist der dazugehörige Code darüber hinaus ja sowieso schon in verschiedene Callback-Funktionen unterteilt, die bei "Nutzung" des jeweiligen GUI-Elements ausgeführt werden.
Ich habe nun regelmäßig Probleme bei der Übergabe von Variablen. Sowohl zwischen den Callbackfunktionen, als auch wenn ich aus einer dieser ein ausgelagertes Skript aufrufen will.
Nach meinem Verständnis läuft es so:
Zwischen den Callback-Funktionen ist die Übergabe nötiger Variablen über die handles-Struktur möglich, d.h. ich speichere z.B. die Variable test unter handles.test, bestätige mit guidata(hObject, handles), dann kann ich sie in einer anderen Funktion über die handles wieder aufrufen, also test=handles.test. Ohne die handles würde der Zugriff auch innerhalb des Skripts einer GUI nicht funktionieren, richtig? (siehe Code)
Wenn ich jetzt aus einer Callbackfunktion des Hauptskripts ein ausgelagertes Skript aufrufen will, muss ich die Variablen in der Callbackfunktion "aus den handles holen" und dann an das Skript übergeben, richtig? (siehe code) Geht das noch einfacher? Manchmal wird das was ich übergeben müsste so viel, dass es einfacher ist die Berechnung doch im Hauptskript durchzuführen. Aber das macht es eben sehr unübersichtlich. Das Ergebnis des externen Skripts müsste ich dann in der Callback-Funktion des Hauptskripts wieder in den handles speichern um es weiterverwenden zu können, richtig?
Sorry für den langen Beitrag. Es geht mir darum zu wissen: ist mein Verständnis richtig, mache ich irgendwas falsch oder umständlich? Es funktioniert zwar immer irgendwie, aber es scheint mir so als ob Übersichtlichkeit, Zugriffszeiten und Speicherverwendung noch optimierbar wären.
Vielen Dank für Tipps und Hinweise!
|
|
|
|
|
sword_warrior |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 04.11.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.04.2011, 09:31
Titel: Re: Saubere Variablenübergabe und Codeaufbau?
|
|
moongoblin hat Folgendes geschrieben: |
|
Ich arbeite zwar auch noch nicht so lange mit Matlab, aber spontan würde ich diesen Weg nehmen:
Und dann in der aufgerufenen Funktion mit handles.test, handles.probe etc. weiterarbeiten (die Resultate dann unter handles.ergebnis) und das gesammte handles struct zurückgeben.
Korrigiert mich, wenn ich falsch liege...
|
|
|
|
|
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.
|
|