Заставить MATLAB ждать, пока внешняя программа завершит команду DDE - PullRequest
0 голосов
/ 01 января 2019

У меня есть скрипт MATLAB, который вызывает внешнюю программу по протоколу DDE, я хочу, чтобы MATLAB ожидал завершения выполнения, что обозначено 0/1, возвращаемым из ddeexec(programName,command).

Я безуспешно пытался использовать wait или waitfor, так как они получают объект, и у меня есть только возвращаемое значение (которое является двойным).

Временное решение, которое у меня есть, это использовать pause(secToPause)но это не очень хорошее решение, так как время выполнения внешней программы может измениться.

Обратите внимание, что внешняя программа всегда работает в фоновом режиме, поэтому проверка завершения процесса также не будет работать.

Есть предложения?

osloFinished = 0; %set var to see if OSLO finished its job
osloFinished = ddeexec(OSLO,osloCommand); %send execution to OSLO 
matlabMagicWait %here I want to matlab to stop and wait for osloFinished to change to 1 
...