|
|
Unterbrechen einer for-Schleife in GUI |
|
rocketman |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.11.2011, 10:35
Titel: Unterbrechen einer for-Schleife in GUI
|
|
|
|
|
Hallo alle zusammen,
ich hab wieder einmal ein Problem..
Diesmal geht es um eine Unterbrechung einer for-Schleife in einer GUI. Ich hab eine kleines Programm geschrieben, dass aus zwei GUI-Fenster besteht. In dem einen befinden sich die Steuerknöpfe für irgendwelche Interaktionen und im anderen Fenster ein standardmäßiges Axes-Fenster. Nun lasse ich einen Punkt auf einer Trajektorie laufen. Dabei wird in einer for-Schleife die neue Position des Punktes gesetzt, außer ich drücke den Stop-Button. Dazu habe ich ein Flag in der Schleife, dass jeden Durchgang aus GUIDATA seinen Status abfrägt. Dies funktioniert allerdings nicht, da die Schleife offenbar eine höhere Priorität hat, als der Button im zweiten GUI-Fenster. (Steuer-GUI läuft quasi im Hintergrund und lässt sich nicht nach "vorne" holen, da jeder Druchlauf der Schleife diese nach hinten stellt)
Ich hab dann versucht die event queue mit drawnow zu aktualisieren, ging aber auch nicht! Schleife wurde wiederum bis zum Ende durchfahren.
Gibt es eine Möglichkeit (außer Strg + C) die Abarbeitung der Schleife zu stoppen, bzw. einen anderen Befehl zu priorisieren?
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 28.11.2011, 12:05
Titel: Re: Unterbrechen einer for-Schleife in GUI
|
|
Hallo rocketman,
Die Variable "handles" wird innerhalb der Schleife nicht upgedated. Dann kann sich auch "handles.flightdata.flag_stop" nicht ändern.
Entweder müsstest Du also per GUIDATA die Werte updaten, oder direkt den Zustand des Buttons abfragen. In beiden Fällen wird das Klicken auf den Button nur ausgewertet, wenn ein DRAWNOW oder PAUSE Befehl läuft.
Über solche Stop-Button wurde im Forum schon öfters gesprochen und ich meine, man müsste auch Beispiel-Code finden.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|