WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Workspace wird automatisch gelöscht

 

Turbopavel
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 22.11.12
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 26.01.2018, 11:02     Titel: Workspace wird automatisch gelöscht
  Antworten mit Zitat      
Moin.

Ich habe eine GUI erstellt, die mir Daten aus einer Textdatei holt, die mir dann in der GUI angezeigt werden. Das Ganze passiert in der OpeningFcn, sprich beim Ausführen des Programms. Das funktioniert auch soweit. Jedoch werden die dafür erstellten Variablen anschließend wieder aus dem Workspace gelöscht, was ich gar nicht will. Woran kann das liegen?
Private Nachricht senden Benutzer-Profile anzeigen


SigiSorglos
Forum-Century

Forum-Century


Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2018, 11:07     Titel:
  Antworten mit Zitat      
was meinst du damit "die werden aus dem Workspace gelöscht"? Hättest du die gerne im base workspace? Oder sollen die von anderen Funktionen innerhalb der GUI verwendet werden?

Es handelt sich wahrscheinlich um lokale Variablen, die nur innerhalb der Opening-Fcn gelten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Turbopavel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 22.11.12
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 26.01.2018, 11:11     Titel:
  Antworten mit Zitat      
Wenn ich jetzt bspw. einen Wert in der OpeningFcn unter der Variable A abspeicher, kann ich mir diese zwar in der GUI anzeigen lassen. Aber sobald ich diese Variable A weiter verwenden möchte, bspw. beim Betätigen eines Buttons, steht sie mir nicht mehr zur Verfügung...
Private Nachricht senden Benutzer-Profile anzeigen
 
SigiSorglos
Forum-Century

Forum-Century


Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2018, 11:33     Titel:
  Antworten mit Zitat      
Das ist auch logisch, da es sich um eine LOKALE Variable handelt. Ich persönlich speichere mir alle Variablen, die von verschiedenen Funktionen genutzt werden in einer struct. Diese definiere ich dann in allen Funktionen, die eine der Variablen benötigen, als global. Das funktioniert dann, wobei es bestimmt elegantere Lösungen gibt. Die würde mich an dieser Stelle auch interessieren... Wink

Code:
function OpeningFCN()

global globalParameters

globalParameters.A=123;

function otherFunction()

global globalParameters

% A kann jetzt hier verwendet werden
Private Nachricht senden Benutzer-Profile anzeigen
 
Turbopavel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 22.11.12
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 26.01.2018, 15:58     Titel:
  Antworten mit Zitat      
Das geht schonmal in die richtige Richtung. Aber es muss doch auch eine Möglichkeit geben, dass ich alle Variablen, die ich in der OpeningFcn erstelle, automatisch im Workspace habe (und dann bspw. über das Command Window darauf zugreifen kann). Ich habe bereits einen riesigen Code, das würde dann ja jetzt heißen, ich müsste alle darin enthaltenen Variablen als global deklarieren, damit ich damit beim Drücken des Push-Button damit weiter arbeiten kann?!
Private Nachricht senden Benutzer-Profile anzeigen
 
SigiSorglos
Forum-Century

Forum-Century


Beiträge: 147
Anmeldedatum: 24.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2018, 16:51     Titel:
  Antworten mit Zitat      
wenn du die nur im base workspace haben willst, dann nutze:

Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
Turbopavel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 22.11.12
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 26.01.2018, 16:54     Titel:
  Antworten mit Zitat      
Habe die Lösung für mein Problem gerade hier gefunden:

http://www.gomatlab.de/gesamten-workspace-uebergeben-t12265.html
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.01.2018, 18:02     Titel:
  Antworten mit Zitat      
Hallo,

ich würde weder das eine noch das andere empfehlen, u.a. da nicht sauber aufgeräumt wird, wenn die GUI geschlossen wird und die Daten der GUI nicht nach außen getrennt werden.

Hier sind verschiedene Wege dokumentiert, Daten in einer GUI zu verwalten.
https://www.mathworks.com/help/matl.....data-among-callbacks.html

Mein bevorzugter Weg ist Application Data.

Seit R2016a gibt es App Designer als Nachfolger von GUIDE. Siehe hier für eine Gegenüberstellung der Tools:
https://www.mathworks.com/help/matlab/gui-development.html

Bei App Designer ist das Verwalten von Daten über das Hinzufügen eigener Properties deutlich eleganter gelöst als bei GUIDE.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.