MFC OnTimer작동이 안됩니다.
글쓴이: aabram / 작성시간: 금, 2016/04/01 - 10:45오전
첨부와 같이 Timer10번은 자신이 계속 반복적으로 호출하도록 사용하고 있는데
이 Timer10번이 작동중에 On이 안되고 멈춰버리는 현상이 생겼습니다.
어떤부분 때문일까요? 감을 못 잡겠네요.....;;
윈도우 자체가 죽은 것은 아닌 것 같습니다.
아래쪽에 다른 쓰레드에서 호출받아 로그 표시하는 함수는 적상적으로 작동하고 있습니다.
Timer부분만 작동을 멈춰버린 것 같습니다.
그리고 왜 죽은지 체크할 방법이 궁금합니다.
강제로 살려주고 싶은데.....어떤 방법이 있을까요?
혹시 OnIdle이라는 함수로 사용하고 싶은데.... 사용방법이 어떻게 되는지요?
상세 설명을 추가하면 .... 기능 추가로 다른 쓰레드가 작동하면서 멈춥니다.
바로 즉시 멈추는 것은 아니고 10~20초 정도 작동하면서 멈추네요.
쓰레드작동 이란 표현은 생성은 이미 되어있고 함수 호출로 do-while문이 작동하는 것을 말합니다.
함수 호출이 없으면 Ontimer는 정상적을 작동되네요... 어디서 어떻게 힌트를 얻어야 할까요? 막막합니다.
File attachments:
첨부 | 파일 크기 |
---|---|
0401-01.PNG | 4.71 KB |
Forums:
타이머만 해보니. 되네요.
아마도. 다른 부분과 충돌이 일어나거나 오류가 발생한것 같습니다.
일단. 잘 되는거만 내버려두고. 나머지는 지워서. 하나씩 값을 확인해 보세요. ㅇ_ㅇ;;
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
우선 눈에 띄는 점이 하나 있는데,
우선 눈에 띄는 점이 하나 있는데,
OnTimer() 호출될때마다 KillTimer()/SetTimer()를 다시 해줄 필요는 없습니다.
SetTimer() 한 번만 하면 KillTimer()하기 전까지는 해당 타이머 아이디는 주어진 간격대로 계속 반복호출됩니다.
올려주신 코드만으로는 문제를 추측하기 어렵습니다.
DebugView와 OutputDebugString()을 써서 의심가는 곳 몇 군데에서 메시지를 뿌리게 해서 어디서 멈추는지를 차근차근 추적해 보세요. Release 빌드에서도 쓸 수 있으므로 실전상황을 검토할 수 있을 것입니다.
http://freedev.tistory.com/30
답변 감사드립니다.
메모리 충돌 같습니다. 초보라 경험이 미숙하여 설계방향을 잘 못잡은 것 같습니다.
새로운 질문으로 작성하겠으니 추가답변 부탁합니다.
왕초보입니다. 잘 부탁합니다.
댓글 달기