ich habe folgendes Problem. Ich kommuniziere mit meinem Simulink Model mit meiner GUI über die add_exec_event_listener funktion. Ich will mir die Ergebnisse aus dem Display Block in Simulink parallel zum laufenden Model in meiner GUI mir anzeigen lassen. Ich kann die werte schon richtig übergeben und direkt auslesen, aber in der listener funktion nicht an meine GUI übergeben da iich nicht weis wie ich das richtige hObject oder handle auf meine Figure krieg.
hier mein code:
Code:
%
function addEventListener(hObject, eventdata, handles) %ADD EVENT LISTENER
in vGUI1 steht der richtige wert drinnen, aber hier wird es kompliziert,
ich bekomme meine aktuelle GUI handle struktur nicht in diese unterfunktion displayAnzeige rein!
die funktion display anzeige erhält 2 Parameter, den Block Parameter und event parameter, ich kann hier leider nicht das aktuelle hObject übergeben.
wie bekomme ich den aktuellen Status meiner GUI hier rein, ohne dass er mir die GUI neu in ihrem grundzustand läd? in meiner GUI sind noch weitere checkboxen, bei denen der aktivierungszustand gespeichert bleiben sollte..
gibts da mittlerweile eine Lösung? Ich stehe vor genaue dem gleichen Problem. Ich will eine Excel Datei auf neue Eingaben überwachen und dafür eine Funktion für die entsprechenden Events schreiben. Das Problem ist, dass ich als handle in dieser Event Funktion immer nur das Excel Com Object bekomme und keinen Zugriff auf die GUI Daten habe (siehe Anhang)
Ich hatte mal wieder Zeit und hab es über eine etwas umständliche Lösung mittlerweile hinbekommen. Vielleicht findet es der ein oder andere ja nützlich:
Prinzip:
Die GUI mit dem Event-Callback wird nicht direkt gestartet sondern über einen Skript. Dadurch ist im Workspace das Handle zur Figure bekannt und kann in der Callback Funktion mittels evalin() und guidata() extrahiert und aktualisiert werden.
Excelserver in CreateFuncion der MyGui.m starten und 'SheedChange' Event registrieren:
Code:
% --- Executes during object creation, after setting all properties. function figure1_CreateFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
in test1 stehen dann alle handles zu den Objekten (Figure, Axes etc...) und in data alles was in den regulären GUI Callbacks in handles gespeichert wurde. Nach der Aktualisierung kann man auf die neuen Variablen in handles in allen GUI Callbacks zugreifen.
Ich bin allerdings nach wie vor offen für elegantere Lösungen .
Grüße
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.