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, callback und output

 

bluesaturn
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 06.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.03.2009, 16:02     Titel: Gui, callback und output
  Antworten mit Zitat      
Hallo.
Ich habe eine Frage und finde es nicht in der Matlabhilfe.
Callback-Funktionen sind ja Funktionen, die irgendwas machen, nachdem man einen Button gedrückt hat oder dergleichen.
Aber sind die nicht in der Lage, Variabeln zurückzugeben?

Z.B.
function [slider1,name]=plot1_Callback(obj,ed,handles)

......

slider1=...
name=...
end

liefert mir nicht die Variabeln slider1, name zurück, die ich für andere Funtionen, auch Callback-Funktionen, benötige.
Diese Variabeln stehen dann nicht im Workspace zur Verfügung und mein Programm hängt sich auf. Könntet mir das bitte jemand erklären?

Vielen Dank.
blue
Private Nachricht senden Benutzer-Profile anzeigen


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 18.03.2009, 13:48     Titel:
  Antworten mit Zitat      
Hi Blue,

Wenn Du im Callback irgendwelche Daten berechnest, die später in einem anderen Callback benutzt werden sollen, dann müssen die Daten zwischengespeichert werden. Am einfachsten geht es über den "Handles"-Strukt, der ja in jedem Callback Dir zur Verfügung steht.

Pseudecode
Code:
function PushbuttonA_Callback(hObject, eventdata, handles)
a = 100;
% a sollte in den handles-strukt übernommen werden
handles.a = a;
% handles abspeichern
guidata(hObject,handles)

function PushbuttonB_Callback(hObject, eventdata, handles)
% wird nun im nachhinein dieser Callback gefeuert, so findet man die variable "a" im handles-Struct
disp(handles.a)



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
bluesaturn
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 06.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2009, 13:53     Titel:
  Antworten mit Zitat      
Hallo outsider.
Vielen Dank.
Mir war nicht klar, daß man guidata(hObject,handles) aufrufen muss.
In comp.soft.sys.matlab habe ich auch den Hinweis gefunden, daß man sofort nach dem Aufruf der Funktion
handles = guidata(hObject); schreiben muss, um erstmal an die handles wieder zu kommen. Das ist echt verwirrend, aber jetzt merke ich es mir!
Viele Grüße
Blue
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.