|
Janika |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 24.05.11
|
 |
|
 |
Wohnort: Süddeutschland
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 09:44
Titel: TimerFcn hObject
|
 |
Hallo zusammen.
Ich habe folgendes Problem:
Ich habe eine GUI mit einem Button, dessen Callbackfunktion ein m-File aufruft. Nun soll dieses Skript auch als TimerFcn aufgerufen werden. Das Problem welches ich jetzt habe, ist, dass das Skript mit hObject auch auf die GUI zugreift. Dieses hObject ist aber beim Timer-Aufruf unbekannt.
Ich habe schon folgende Lösungversuche ausprobiert und weiß jetzt irgendwie nicht mehr weiter.
Lösung1:
Hierbei tritt ein Laufzeit-fehler auf: undefined function or variable 'hObj'
Lösung2:
Fehler vor Ausführung: input argument hObj is undefined
Lösung 3:
Funktioniert (noch) nicht, da die Event-Abfrage, bei normalem Aufruf von UpdateSkript leer ist. Wenn ich nach if event abfrage, kommt wiederrum bei Aufruf aus der Timer-Routine ein Fehler.
Ich hoffe mein Problem ist verständlich geworden und ich bekomme irgendwelche Tipps, wie ich weitermachen könnte.
Danke schon mal und Gruß, Janika
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 10:07
Titel:
|
 |
Hallo
Wo definierst du denn deine Timer-Funktion?
Wie wird hObject in Script verwendet, denn hObject ist in Prinzip der Auslöser des Events?
Ist es notwendig um handles zu bekommen, dann kann man z.B. einfach stattdessen das Handle deines GUI übergeben.
|
|
|
Janika |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 24.05.11
|
 |
|
 |
Wohnort: Süddeutschland
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 10:20
Titel:
|
 |
Der Timer wird in meiner OpeningFcn meines Programm definiert. Die TimerFcn, d.h. das Skript oder Funktion UpdateSkript befindet sich in einer seperaten Datei.
HObject brauche ich in meinem Skript um an die handles zu kommen. Richtig! Das würde bedeuten, dass ich diese als zusätzliches Argument an die Funktion übergebe?So?
Würde aber auch bedeuten, dass ich die Veränderungen nicht speichern kann, oder?!
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 11:04
Titel:
|
 |
Hallo
Du brauchst nicht das ganze Handles zu übergeben, sondern nur das Handle deines Fensters/Hauptgui, wo du deine handles abspeicherst
schaue dir in OpeningFcn wohin GUIDATA die handles abspeichert.
Das kannst als hObject an deinem Script übergeben.
Veränderungen kannst du schon speichern, dazu brauchst du bloß deine Haupgui
|
|
|
Janika |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 24.05.11
|
 |
|
 |
Wohnort: Süddeutschland
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 14:12
Titel:
|
 |
Hab die Vorschläge so umgesetzt. Vielen Dank.
Mein Update funktioniert nun auch ganz gut, wenn ich die Updatefunktion aus der Timerroutine aufrufe. Führe ich aber nun ein manuelles Update aus tut sich gar nichts, kein Fehler, aber auch keine Funktion!
Mein Aufruf von meinem manuellen Updatebutton sieht folgendermaßen aus:
Übergebe ich hier den falschen handle?
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 25.05.2011, 15:57
Titel:
|
 |
Hallo
vermutlich änderst du etwas in UpdateScript, und die Änderungen speicherst du in handles zurück. Ich denke, dass du höchstwahrscheinlich in Callback deine handles überschreibst.
Es ist so, wenn du handles irgendwo, speicherst, dann musst du in anderen Funktion deine handles ja wieder aktualisieren
Hier ist wahrschienlich besser Abspeichern zu unterlassen, da du ja nichts änderst:
|
|
|
Janika |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 24.05.11
|
 |
|
 |
Wohnort: Süddeutschland
|
 |
|
 |
Version: R2010a
|
 |
|
|
 |
|
Verfasst am: 26.05.2011, 09:00
Titel:
|
 |
Wunderbar! Hat nun funktioniert!!
Vielen, vielen Dank! JANIKA
|
|
|
|
|
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.
|
|