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

Schleife beenden beim Schließen des Fensters

 

Testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2011, 14:48     Titel: Schleife beenden beim Schließen des Fensters
  Antworten mit Zitat      
Hallo,

wie im Titel schon steht würde ich gerne eine Schleife beenden, sobald ich das Fenster schließe.

Code:

handles.anhalten=0 %wird in der openingfcn definiert
guidata(hObject,handles)

running(hObject, eventdata, handles) %das steht in der Outputfcn

handles.anhalten=1; %das steht in der CloserequestFCN
guidata(hobject,handles)
delete(gcbo)


function running(hObject, eventdata, handles)
while handles.stop==0
    %hier wird die Funktion geplottet
   
    drawnow;
 
    handles=guidata(hObject);
end
 


Ich bekomme immer beim Beenden einen Fehler, der nur darauf zurückzuführen ist, dass das Fenster geschlossen wurde während die Schleife noch lief.

Kann mir jemand meinen Fehler aufzeigen?
Vielen Dank und Grüße


Harald
Forum-Meister

Forum-Meister


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

das ist irgendwo naheliegend. Die Figure wird sofort geschlossen, d.h. wenn du zu drawnow und zu guidata kommst, existieren kein Plot und keine GUI mehr.

Was ich versuchen würde:
uiwait(handles.figure1) in der CloseRequestFcn
uiresume(handles.figure1) am Ende von running.

Bitte immer die genaue Fehlermeldung hier reinkopieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kevin
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 18.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2011, 15:13     Titel:
  Antworten mit Zitat      
Hallo,
das Problem hast du nicht, wenn du die Schleife als subroutine in einen object callback schreibst.
Gruß
Kevin
_________________

1000 Buchstaben? Warum nur 6?
Private Nachricht senden Benutzer-Profile anzeigen
 
Testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2011, 15:30     Titel:
  Antworten mit Zitat      
Danke euch beide für eure Vorschläge.

Wenn ich die Schleife als subroutine in einen Object Callback schreibe muss ich sie doch durch irgendetwas aktivieren, wie z.B. Knopfdruck,oder? Ich hätte gerne, dass die Schleife beim Starten anfängt zu laufen und wenn man oben rechts aufs X klickt wieder beendet wird.
 
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.