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

Daten von GUI1 in GUI2

 

bumbumquietsch*
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 15.11.2011, 11:33     Titel: Daten von GUI1 in GUI2
  Antworten mit Zitat      
Hey Leute,

ich weis, dies ist ein Thema das schon öfters behandelt wurde. Nur leider komme ich auf kein Ergebnis Sad Ich hab schon das Tutorial hier aus dem Forum gemacht und ewig gegoogelt, es funktioniert einfach nicht ?!

Ich möchte auf einem Pushbutton ind GUI1 drücken und er speichert alle meine Matrizen/Daten/variablen ab und übergibt dies an GUI2. Mehr nicht, keine Rückgabe oder sonstdergleichen.

Code:
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)

    mainGUIdata  = guidata(GUI);

   GUI2(hObject,mainGUIdata); % öffnet GUI 2
 


Er bringt jedes mal den Fehler:

Zitat:
Undefined function 'auswertung_add' for input arguments of type 'struct'.


Muss ich hier in GUI2 noch die Daten erkenntlich machen ? wird GUi2 anders aufgerufen ? Was mache ich falsch ?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2011, 11:46     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
wird GUi2 anders aufgerufen ?

Das kommt darauf an, wie du die GUI erstellt hast. Wenn du sie mit GUIDE erstellt hast, kannst du so zusätzliche Informationen übergeben und die in der OpeningFcn verarbeiten.

Zitat:
Undefined function 'auswertung_add' for input arguments of type 'struct'.

Wo befindet sich die Funktion auswertung_add? Wo wird diese Funktion aufgerufen? Welche Argumente werden übergeben?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bumbumquietsch*
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 15.11.2011, 14:01     Titel:
  Antworten mit Zitat      
hey hey

Der fehler wurde durch eine falsche Platzierung im Ordner ausgelöst. 5 Stunden an einem Programm arbeiten fordern dann doch mal einen Konzentrationstribut!

Beide GUI´s wurden mit GUIDE erstellt. Ich möchte einfach nur meine Daten aus GUI1 für GUI2 bereitstelle.

Welchen Ausdruck muss ich hier noch in die Opening_Fkt schreiben ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2011, 15:11     Titel:
  Antworten mit Zitat      
Hallo,

die OpeningFcn hat normalerweise das Interface
Code:
function guiname_OpeningFcn(hObject, eventdata, handles, varargin)

varargin ist dabei ein Cell Array, das die übergebenen Argumente enthält. Was du mit diesen Daten machst, musst du aus deiner Anwendung heraus entscheiden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bumbumquietsch*
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 17.10.11
Wohnort: München
Version: R2011b
     Beitrag Verfasst am: 15.11.2011, 15:33     Titel:
  Antworten mit Zitat      
Ich habe jetzt folgendes ausprobiert:

in meiner GUI2 rufe ich folgende Zeile auf:

Code:
mainGUIdata =  guidata(GUI1);



Das heißt ich speichere in meiner neuen Variabel alle Werte ab. Kann man das so auch machen, oder spricht hier etwas dagegen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2011, 19:03     Titel:
  Antworten mit Zitat      
Nicht dass ich wüsste. Wenns funktioniert, funktionierts - oder?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Finrond
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.10.11
Wohnort: München
Version: 7.10.0 (R2010a)
     Beitrag Verfasst am: 13.03.2012, 21:10     Titel:
  Antworten mit Zitat      
Ich weiß, dass der letzte Post ein wenig länger zurück liegt, aber ich habe ein ähnliches Problem wie der Threadersteller gehabt. Bin ne ganze Zeit davor gesessen, bis ich eine gut Lösung gehabt habe.

Wie gesagt, ich habe auch zwei GUIs, die einander Werte übergeben sollen: Von der HauptGUI soll die NebenGUI geöffnet werden, in der Werte berechnet werden. Das Ergebnis soll an die HauptGUI zurückgegeben werden.

Schritt 1:
Die NebenGUI wird durch einen Button in der HauptGUI geöffnet. Der Callback lautet wie folgt:
Code:
function open_NebenGUI_Callback(hObject, eventdata, handles)
output_NebenGUI= NebenGUI;


Schritt 2:
In der NebenGUI muss in der OpeningFcn der Kommentar bei
Code:
uiwait(handles.figure1);

entfernt werden. Danach kann der Code implementiert werden.

Schritt 3:
Wenn alles fertig ist, soll das Ergebnis an die HauptGUI übergeben werden, indem ein Button in der NebenGUI gedrückt wird, dessen Callback so aussieht:
Code:
function uebergebe_ergebnis_Callback(hObject, eventdata, handles)
uiresume(handles.figure1);


Schritt 4:
Zum Schluss wird das Endergebnis and die HauptGUI übergeben, indem die OutputFcn der NebenGUI so aussieht:
Code:
function varargout = NebenGUI_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.endergebnis;
% delete(hObject)

Die letzte Zeile schließt die NebenGUI, wenn der Kommentar entfernt wird.

In der HauptGUI ist das Endergebnis unter output_NebenGUI im entsprechenden Callback gespeichert (siehe Schritt 1) und kann als handle gespeichert und weiterverwendet werden.

Hoffe, dass ich damit ein paar Leute, die auch Probleme mit der Rückgabe von Werten aus der GUI gehabt habe, helfen konnte.
Sollte etwas am Post nicht stimmen oder er woanders besser aufgehoben ist, dann gebt mir bitte Bescheid Smile

Grüße,
Chris
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 - 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.