How can I trigger activity in a top level gui from a timer in a lower level object?
조회 수: 1 (최근 30일)
이전 댓글 표시
I have an object that is polling status from a piece of equipment at regular intervals. It is doing this by starting a timer at object instantiation. I would like to trigger higher level application behavior off of certain types of status changes and I'm not sure how to get a trigger signal from the lower level timer object to the high level main gui object. Any ideas would be appreciated. :)
Pseudo-Detail:
1. GUI -> CommObj -> TimerObj -> Callback (embedded in CommObj.ConstructorMethod)
2. Callback toggles a bit property in CommObj instance.
3. ???
4. GUI detects change in CommObj property and does stuff! (a.k.a. PROFIT!!!)
Thanks in Advance :)
댓글 수: 0
답변 (1개)
Walter Roberson
2012년 5월 3일
Unfortunately it is not really possible to prod an active routine to do something. You can change the value of a variable that the routine has access to, and you can have the routine test the value of that variable.
In some situations it makes sense to use add_listener(), and possibly notify() as well.
In some situations it make sense to use waitfor() to wait for a condition.
댓글 수: 2
Walter Roberson
2012년 5월 3일
To cross-check, are you referring to "object" in the object-oriented programming sense? And in particular, to classes defined using the newer classdef mechanism?
If so then unfortunately that is a topic I have not had an opportunity to investigate.
참고 항목
카테고리
Help Center 및 File Exchange에서 Construct and Work with Object Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!