Quantcast
Channel: Mein MATLAB Forum - goMatlab.de
Viewing all articles
Browse latest Browse all 28441

Property extern ändern während funktionsaufruf

$
0
0
Hallo zusammen, ich habe folgendes Problem: ich habe ein Objekt mit einer Methode "simulate", die in einer for-Schleife eine Simulink-Simulation aufruft. die Rückgabe der Methode ist ein Flag, ob abgebrochen wurde/es einen Fehler gab, oder nicht. Ursprünglich gab es die Möglichkeit, via cancel-Button der "multiWaitbar" aus dem FEX die Funktion zu beenden (Es wurde das flag auf false gesetzt, und dadurch die Schleife beendet). So weit kein Problem. Aber jetzt kommt folgendes: Ich möchte einen anderen Cancel-Button nutzen, der von einer (externen) GUI aus die Funktion beendet. Deshalb habe ich statt der (lokalen) flag-Variable eine Property Variable erstellt. Vereinfacht gesagt: classdef Objekt < handle properties % ( ...) flag; end methods % (...) function flg = simulate(obj) obj.flag = true % muss ja true sein, damit die schleife läuft % (bla bla) for i=1:ende if ~obj.flag break; end % if % (usw usf) end % for end % simulate end % methods end % classdef Aufruf der funktion (innerhalb eines GUI-Objekts; s ist das Objekt function startButton_callback(~, ~, obj) f = obj.s.simulate(); end % startButton_callback function abortButton_callback(~, ~, obj) obj.s.flag = false; end % abortButton_callback Wenn ich nun während der for-loop läuft den Abort-Button anklicke, wird der loop leider nicht beendet. (obwohl nachweislich das flag =false gesetzt ist) ... Vielen Dank für eure Hilfe! Jan

Viewing all articles
Browse latest Browse all 28441

Trending Articles