안녕하십니까..
델파이 5를 사용하고, 접한지는 3주정도 됩니다.
다름이 아니오라 프로그램을 돌리면 타이머에서 멈추어버립니다. 아주가끔요..
머리에 쥐내릴려고 합니다..하다하다 안되어서 이렇게 질문을 드립니다.
아무래도 에러그림하고 소스하고 올려야 할것 같은데... 소스가 좀 지저분해서^^;;
꼭 멈추는 위치는 TsFadeTimer.Timer안에서 멈추는데..다시또 F9를 누르면 동작은 합니다..ㅠㅠ
이유라도 좀 알려주시면 감사하겠습니다.
에러그림이 있는 엑셀파일과 소스파일을 참고로 첨부하겠습니다.
고수님들의 한수 가르침을 부탁드립니다.
첨부 파일을 보왔는데요 역시 보기가 힘드네요 ㅎㅎ
제 소견으로는 timer 이벤트가 작동중일때 그 이벤트가 끝나지도 않는 상태에서
또 다시 timer 이벤트가 실행이 되어서 생기는 현상이 아닌가 하네요...
(타이머가 시간(10초 마다 작동된다는 과정)이 되었을때 timer 이벤트를 실행하는데 그 이벤트가 5초안에 끝난다고 할때가 걸리다고 할때 컴퓨터의 상태에 따라서 10초 안에 이벤트안에 있는 내용을 다 끝마치고 나가지 못할때 또 다시 이벤트가 실행이 될수 있습니다.)
조치로는 timer이벤트에 현재 timer이벤트가 실행 되고 있는지 체크 할수 있는 전역번수를 추가하여 ~~
procedure xxxxx.timer 이벤트;
begin
if gbTimerExec then exit; // 타이머 이벤트가 실행중이라면 exit 나간다 (이중 실행 방지)
gbTimerExec := true; // 타이머 실행중
.......... 기존 소스 ...............
gbTimerExec := false; // 타이머 종료
end;
도움이 되었으면 하네요~~~
그럼 오늘도 조은 하루 되세요~~~ ^^