Wie kann ich eine Callback-Funktion eine andere Callback aufrufen lassen?
D.h. ich habe z.B. drei Pushbuttons und möchte einen dazu benutzen die Callbacks der anderen beiden aufzurufen.
Mit dem Function Handle bin ich bisher nichts geworden und ein normaler Funktionsaufruf funktioniert irgendwie auch nicht.
Was könnte ich falsch machen?
Z.B. so gehts schonmal nicht!
Code:
h1 = @callback1;
h2 = @callback2;
function Callback1(hObject, eventdata, handles)
.
.
.
guidata(hObject, handles);
function Callback2(hObject, eventdata, handles)
.
.
.
guidata(hObject, handles);
Sei vorsichtig mit der Variable "hObject" diese beinhaltet den Handle des Object von dem der Callback gefeuert wurde. D.h. wenn Du einen Callback emulierst sollte der erster Paramter der Handle des Pushbuttons sein, den Du emulierst und das ist defitiv nicht hObject im Falle wenn Du den Callback us einem anderen Cllback aufrufst.
ich habe einen BUTTON_PLOT_Callback der mir ein Plot erstellt.
Im Codeverlauf ist eine Variable die den Azimuth-Ansichtswinkel eines 3-dimensionalen Plots einstellt.
Meine Idee war in der Call Back Funktion des Sliders die Call Back Funktion des
Plottens aufzrufen.
Das ganze soll den Azimuthwinkel des 3D Plots mener GUI über einen Slider einstellbar machen. Ich möchte aber nicht immer auf den Button Plot drücken um die Ansicht zu aktualiseren. Diese möchte bitteschön sich selbst nach dem Einstellen des Sliderwerts aktualiseren.
Hallo die Fehlermeldung sagt doch, dass in deinem Code (im gleichen Funktionscript(M-File)) zwei Funktionen definiert wurden, welche gleich heißen, was falsch ist.
Das wird im Matlab-Editor auch Rot Markiert (Siehe Seitenleiste). Wenn etwas rot markiert ist, dann wirft das Programm immer beim Ausführen gleich die Fehlermeldung.
Also wenn du den Callback im deinen Code nur aufrufen möchtest, dann ohne den Schlüsselwort FUNCTION, also nur Callback-Namen mit entsprechenden Übergabeparametern:
Code:
% Aufruf im Code (Parameter müssen auf deinen Code angepasst sein) z.B
BUTTON_PLOT_Callback(hObject, eventdata, handles)
%
% Bitte ohne das Schlüsselwort FUNCTION % also nicht so aufrufen, denn dass ist Definition einer Funktion % function BUTTON_PLOT_Callback(hObject, eventdata, handles)
Ja ich konnte den Fehler schon interpretieren, ich muss dem Programmablauf eine Eindeutge Richtung vorgeben und kann nicht azwei gleiche Callback Funktionen haben. Habe mich nur etwas verwirrend wohl ausgedrückt sorry.
Auch die Botschaft des "outsider" seines Beitrags habe ich verstanden.
....ich probiere es erst mal so aus wie du es vorgeschlagen hast.
Gruß
Rumus
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.