timer does not work in the .exe file
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I wanna let a .m script file work at intervals. So I write some test codes shown below. It works fine in MATLAB--two emails are sent. But after I package it to the .EXE file using deploytool, it doesn't work correctly -- only one test email is sent.
OS :Windows 7 Ver:MATLAB 2015b 32-bit
.net 4.0/runtime 9.0/Microsoft Windows SDK 7.1 are all installed.
%%file: exetest.m
itimer=timer('Name','myTest','TimerFcn',@timertry, ...
'Period', 5,'ExecutionMode','fixedspacing','TasksToExecute',2);
start(itimer);
%%file: timertry.m
function timertry(obj,event)
mySendMail('xxxxxx@xxx.com','test','This is a test email');
%%file: mySendMail.m
function mySendMail(tEmail,subject,content)
% a packaged function
myaddress='xxxxx@xxxx.com';
setpref('Internet','SMTP_Server','******');
setpref('Internet','E_mail',myaddress);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
setpref('Internet','SMTP_Username',myaddress);
setpref('Internet','SMTP_Password','*****');
sendmail(tEmail,subject,content);
0 commentaires
Réponses (1)
Walter Roberson
le 8 Mai 2016
Your code is not waiting for the timer to execute. Your code exits right after the start(timer) . That clears the workspace, including deleting the timer.
3 commentaires
Walter Roberson
le 9 Mai 2016
Put a uiresume in there and put a uiwait in the main routine so that it pauses until the resume is executed
Voir également
Catégories
En savoir plus sur MATLAB Compiler SDK dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!