【发布时间】:2013-07-19 01:53:12
【问题描述】:
我正在做一个测量系统,我的程序中有一个 do while 循环。在循环中,它会在进行测量之前检查是否有任何电机正在移动,因为它需要在执行任何操作之前到达目标位置。
在进行测量时,假设告诉我进行此测量需要多长时间。
但是,每当它在 do while 循环中运行时,我的所有计时器功能都会停止,就好像它们被置于睡眠模式一样。
还有其他方法可以实现吗?如果有,请帮助我。
任何帮助将不胜感激。
SetTimer(TIMERECHO, 1000, NULL);
BOOL bMoving = FALSE;
do
{
if (IsMoving(ID, NULL, &bMoving))
GetPosition();
} while (bMoving);
void CLHMDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case TIMERECHO:
UpdateData(FALSE);
m_Seconds++;
m_TimerEcho.Format(_T("Total time: %ds"), m_Seconds);
break;
}
CDialogEx::OnTimer(nIDEvent);
}
【问题讨论】:
标签: c++ mfc while-loop do-while