Meine Callbackfunktion sieht nun so aus, dass sie die Standardeingänge, so wie f und struktur bekommt.
Nun habe ich festgestellt, dass das f genauso an die Funktion übergeben wird, wie es an der Stelle aussieht, an der auch der set-Befehl im Code steht. Macht ja auch Sinn. Der Callback löscht jetzt einen bestimmten Wert aus f (ein struct) und schreibt einen Neuen rein.
Wenn ich den Callback jetz aber ein zweites mal ausführe, weiß er ja nicht, dass was passiert ist mit dem f und schreit bei dem delete-Befehl rum, das ginge ginge ja gar nicht, was ich da vor hab
Frage 1: wie krieg ich ihn dazu, das neue f zu übernehmen?
ich hatte überlegt, das mit nem assignin zu machen, aber weiß nicht genau wie. oder eben mit nem zusätzlichen Output für den Callback à la
Frage 2: wie komm ich an den Output nun ran, denn es gibt ja keinen eigentlichen Funktionsaufruf? Wo ist das f hin, im Matlab-Nirvana? oder muss ich ihm in dem set-Befehl doch noch einen Output beibringen?
Hoffe ihr wisst mehr als ich, und seid bereit, Euer Wissen zu teilen
Gruß, apn
_________________
dödeldödeldödeldöpdöp dödeldöpdöp dödel döp döp döp
are you okay, you're okay, you're okay, annie?
Dann kannst Du den Struct nicht als Input übergeben.
sorry, aber doch . der Teil funktioniert schon so wie er soll, die Callbacks funktioniert an sich schon mal, und es haben auch alle 5 Butons die selbe Callbackfunktion.
Zitat:
Ausserdem könntest Du f noch als UserData im Figure-Object speichern
wie geht das? und merkt der sich das geänderte f, wenn ich den Callback dann nochmal aufrufe?
Schon mal danke für die Antwort
Gruß, apn
_________________
dödeldödeldödeldöpdöp dödeldöpdöp dödel döp döp döp
are you okay, you're okay, you're okay, annie?
Dann kannst Du den Struct nicht als Input übergeben.
sorry, aber doch :). der Teil funktioniert schon so wie er soll, die Callbacks funktioniert an sich schon mal, und es haben auch alle 5 Butons die selbe Callbackfunktion.
Wenn Du "{@chkBoxChange,f,struktur}" als Callback verwendest, wird f bei jedem Callback-Aufruf identisch sein und Du kannst f dann nicht für folgende Callback-Aufrufe ändern.
Wenn Du aber sagst, dass Du f gerne ändern möchtest, kannst Du es offensichtlich nicht statisch in die Callbacks packen.
Zitat:
Ausserdem könntest Du f noch als UserData im Figure-Object speichern
Ich habe es mit SETAPPDATA bereits gezeigt: Man schreibt einmal f in eine Variable, die im GUI gespeichert ist. Dann holt sich jeder Callback diese Variable von der Figure, ändert sie und schreibt sie wieder zurück.
Das geht entweder mit SETAPPDATA(FigH, 'f', f) oder mit set(FigH, 'UserData', f).
habs jetzt ganz originell gemacht:
den Wert von f, der geändert wird, wird beim erstellen (ist ein handle) in das UserData-Feld des ersten Buttons geschrieben
Quasi eine globale Variable draus gemacht. Ist das das was Du meinstest, Jan?
Nein! Ich meine: ja! Du hast eben gerade keine "globale" Variable daraus gemacht, sondern eine lokale. Sie ist sogar sehr genau lokalisiert und das auch an einem Platz, wo man sie auch suchen würde. Daten, die ein Benutzer-Programm bei der Ausfürhrung eines Button-Callbacks braucht --- das ist praktisch die wörtliche Übersetzungen von:
dödeldödeldödeldöpdöp dödeldöpdöp dödel döp döp döp
are you okay, you're okay, you're okay, annie?
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
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.