|
멀티미디어 타이머에 대해 몇가지 질문드립니다.
멀티미디어 타이머의 생성/실행은 잘 됩니다.
타이머의 Interval 보다 타이머 내의 처리 시간이 더 걸려도
일반 타이머와 마찬가지로 중복 실행되지는 않아보입니다. (확실하진 않아요..)
그런데..
디버깅 중, 브레이크 포인트를 잡았을 때, 멈춰있던 시간만큼
쌓여있던 타이머 이벤트가 한꺼번에 밀려오면서 PC가 한동안 먹통이 되네요..
이걸 막을 방법이 있을까요??
//타이머 콜백 함수
void CALLBACK TimeProcess(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
static bool bProcCheck1= true;
if(bProcCheck1) {
bProcCheck1= false;
Form1->TimerProcEvent(); //타이머에서 처리할 내용..
bProcCheck1= true;
}
else {
iProcOver1++; //타이머 이벤트가 끝나기 전에 다시 실행이 될 때..
return;
}
}
이렇게 처리할려고 하는데.. else 문으로 들어오지도 않습니다.
그리고..
멀티미디어 타이머 관련 함수 이외의 함수 사용 시에는 PostMessage()를 사용하라는데,
vcl 관련(Label이나 Edit 등등..)된 것 말고는 직접 사용해도 문제 없어보이는데요..
이 부분에 대해 좀 더 설명 부탁드립니다.
|