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

Zur Struktur handles hinzugefügte Felder in OutPutFcn leer!

 

Benutzer
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2011, 14:26     Titel: Zur Struktur handles hinzugefügte Felder in OutPutFcn leer!
  Antworten mit Zitat      
Moin,

Habe eine GUI mit lediglich einem PushButton (PushButton1) und folgendem Code:

- In OpeningFcn:
Code:

handles.output = hObject;
handles.opening = 'opening';
handles.callback1 = 'opening';

% Update handles structure
guidata(hObject, handles);
 


- In Callback von PushButton1:
Code:

handles.callback1 = 'callback';
handles.callback2 = 'callback';
guidata(handles.figure1,handles);

disp('Ausgabe in CallbackFcn von PushButton1 ergibt:');
handles.opening
handles.callback1
handles.callback2

uiresume(handles.figure1);
 


- In OutPutFcn:
Code:

uiwait(handles.figure1);

disp('handles.opening:');
handles.opening
disp('handles.callback1:');
handles.callback1
disp('handles.callback2:');
handles.callback2

delete(handles.figure1);
 


Starte ich die GUI und Drücke den Pushbutton so wirft mir Matlab folgendes im CommandWindow aus:

Code:

Ausgabe in CallbackFcn von PushButton1 ergibt:

ans =
opening

ans =
callback

ans =
callback


handles.opening:
ans =
opening

handles.callback1:
ans =
opening

handles.callback2:
??? Reference to non-existent field 'callback2'.

Error in ==> GUI1>GUI1_OutputFcn at 81
handles.callback2

Error in ==> gui_mainfcn at 265
        feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles);

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


Jemand eine Idee, warum die Änderungen im Feld 'callback1' und das Hinzufügen des Feldes 'callback2' in der OutPutFcn nicht mehr gelten?

Mein eigentliches Problem ist nämliche, dass ich handles.callback2 und das aktualisierte Feld callback1 ausgeben will (Bsp.: varargout{1} = handles.callback2).

Vielen Dank im Vorraus!
Private Nachricht senden Benutzer-Profile anzeigen


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 16.08.2011, 14:56     Titel:
  Antworten mit Zitat      
Hey,
Im Callback von PushButton1 benutze guidata erst am Ende
Code:

handles.callback1 = 'callback';
handles.callback2 = 'callback';
disp('Ausgabe in CallbackFcn von PushButton1 ergibt:');
handles.opening
handles.callback1
handles.callback2
 
guidata(handles.figure1,handles);
uiresume(handles.figure1);
 


Falls das noch nicht reicht ist das handles-Struct in der OutputFcn nicht geupdated. Dann solltest du das aktuelle Laden mit:
Code:

uiwait(handles.figure1);
handles = guidata(handles.figure1);
disp('handles.opening:');
handles.opening
disp('handles.callback1:');
handles.callback1
disp('handles.callback2:');
handles.callback2

delete(handles.figure1);
 


MfG Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Benutzer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2011, 15:25     Titel:
  Antworten mit Zitat      
Perfekt, mit:

handles = guidata(handles.figure1);

hat es geklappt!

Mega geil!
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.