У меня есть скрипт 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