Matlab timer doesnt work in stand alone application

1 次查看(过去 30 天)
Hi Guys,
i have built this application that listens to a certain folder and continuously checks if certain files appear in it. once these files appear i activate another function to process them. I implemented the folder listener using a Timer object with a fixed rate of 30 sec. (i.e - every 30 sec it should check the content of the folder.) Everything works great when i run the code from within Matlab, yet when i compile and then deploy the app the timer only executes once and then exits the program.
any idea what can cause this difference between compiled and un-compiled versions?
system is Ubuntu 14.04,
timer object instance:
myTimer = timer('TimerFcn',@checkFolderForChanges,'Period',h.listenerInterval,'ExecutionMode','fixedSpacing','BusyMode','queue','UserData',userData);
compile arguments:
mcc -mv fileWatch.m
debug lines i added to monitor the timer, from within Maltab:
timer running mode: on
timer tasksExecuted mode: 682
timer running mode: on
timer tasksExecuted mode: 683
stand alone deployed version (exits after 1 timer task execution:
timer running mode: on
timer tasksExecuted mode: 1
vncuser@mathlab:~/visualizer$

采纳的回答

Walter Roberson
Walter Roberson 2016-5-19
  3 个评论
Walter Roberson
Walter Roberson 2016-5-21
The behavior is not really different. You have to imagine there being a "quit" statement after the last line of a compiled executable. Once it has done its work, it is not going to hang around. The way it knows it has finished is that it reaches the end of the code.
Walter Roberson
Walter Roberson 2016-5-21
uiwait() is a convenience wrapper around waitfor(), which applies to objects and to changes in properties, not just graphics.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2016-5-22
I'm not sure why your program doesn't work. I have programs that are compiled and use a timer to poll pushbutton switches, and they work fine.

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by