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

GUI mit mehreren figures(GUIs) - handles Frage

 

Arghmano
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.12.2013, 18:34     Titel: GUI mit mehreren figures(GUIs) - handles Frage
  Antworten mit Zitat      
Hi,

ja diese Frage kam schon öfters auch, da sie sich beim Arbeiten mit mehreren GUI-figures von alleine ergibt:

Ich habe insgesamt 3 GUIs erstellt, 1 Haupt und 2 Sub (nicht als sub definiert, falls das geht). Die Haupt heist "Blasenauswertung" und die Sub um die es geht nennt sich "ExcelDateiErstellung".

Ich rufe die figure für ExcelDateiErstellung über einen Knopf auf der Main auf, nun hab ich auf der Sub einen Knopf, mit dem ich aus einer gespeicherten Workspacedatei (*.mat) Daten auslese und in Editfelder schreiben will. Erwartungsgemäß funktioniert das nicht, da die handles falsch sind.

Ich hab jetzt folgende 2 Dinge probiert:

#1
Code:

% --- Executes on button press in PBStandard.
function PBStandard_Callback(hObject, eventdata, handles)
% hObject    handle to PBStandard (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
gui2=findobj('Tag','ExcelDateiErstellung');
handles=guidata(gui2);
load 'Standartwerte';
set(handles.EHoeheGitter, 'String', num2str(HoeheGitter));
set(handles.EWasser, 'String', num2str(HoeheWasser));
set(handles.ERefDruck, 'String', num2str(Referenzdruck));
set(handles.ETemperatur, 'String', num2str(Temperatur));
set(handles.ERefTemp, 'String', num2str(RefTemp));
set(handles.RBWMS, 'Value', 1);
 


und

#2
Code:
% --- Executes on button press in PBStandard.
function PBStandard_Callback(hObject, eventdata, handles)
% hObject    handle to PBStandard (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
handles=guidata(ExcelDateiErstellung);
load 'Standartwerte';
set(handles.EHoeheGitter, 'String', num2str(HoeheGitter));
set(handles.EWasser, 'String', num2str(HoeheWasser));
set(handles.ERefDruck, 'String', num2str(Referenzdruck));
set(handles.ETemperatur, 'String', num2str(Temperatur));
set(handles.ERefTemp, 'String', num2str(RefTemp));
set(handles.RBWMS, 'Value', 1);
 


#1 Funktioniert garnicht.

#2 funktioniert, allerdings öffnet er mir bei Knopfdruck die selbe Figure nochmal, dann aber mit ausgefüllten Edit-Fenstern. Wie verhindere ich das? Oder ist das normal? Muss ich dann die Alte einfach nur schließen lassen?

Hab schon mehrfach gegoogelt (wodurch ich auch auf die beiden Lösungen oben gekommen bin) aber zu diesem Problem mit der Doppelöffnung nichts gefunden :/
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.12.2013, 22:40     Titel: Re: GUI mit mehreren figures(GUIs) - handles Frage
  Antworten mit Zitat      
Hallo Arghmano,

"Funktioniert garnicht" erlaubt nicht nachzuvollziehen, was genau nicht läuft. Bitte poste die Fehlermeldung oder erkläre den Unterschied zwischen den Erwartungen und den Ergebnissen.

Zitat:
#2 funktioniert, allerdings öffnet er mir bei Knopfdruck die selbe Figure nochmal, dann aber mit ausgefüllten Edit-Fenstern. Wie verhindere ich das? Oder ist das normal? Muss ich dann die Alte einfach nur schließen lassen?

Was genau ist "die selbe Figure"?
In welcher Zeile passiert genau das, was Du meinst? Du kannst auch den Debugger verwenden, um den Code selbst zu untersuchen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Arghmano
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2013, 12:51     Titel:
  Antworten mit Zitat      
Bei Variante #1 kommt folgendes:

Code:
??? Attempt to reference field of non-structure array.

Error in ==> ExcelDateiErstellung>PBStandard_Callback at 324
set(handles.EHoeheGitter, 'String', num2str(HoeheGitter));

Error in ==> gui_mainfcn at 96
        feval(varargin{:});

Error in ==> ExcelDateiErstellung at 42
    gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)ExcelDateiErstellung('PBStandard_Callback',hObject,eventdata,guidata(hObject))

 
??? Error while evaluating uicontrol Callback


Variante #2 erzeugt ExcelDateiErstellung.fig (also meine SubGUI) einfach nochmal, nur eben mit den ausgefüllten Feldern

Hat beides mit

Code:
gui2=findobj('Tag','ExcelDateiErstellung');
handles=guidata(gui2);


bzw

Code:
handles=guidata(ExcelDateiErstellung);


zu tun.
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.