C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[62178] Re:Re:Re:Timer 을 1초동안 계속돌리면....
둘리.CSIEDA [dooly386] 1465 읽음    2010-08-17 16:11
장성호님/
맞습니다. 타이머는 여러번 중첩호출되지 않습니다.
지적하신데로, 문제는 , DB access 부분인듯 하군요. DB access 부분의 만든 것들이 주로 thread로 돌기 때문에
나타나는 현상 아닐까요?? 정확한 코드를 보지 않은 관계로 원인을 정확하게 풀 수 없는 상황인듯 합니다.




장성호 님이 쓰신 글 :
: 송신영님..
:    1초짜리 timer 이벤트 핸들러에서 작업이 10초 걸린다고 해서
:    반드시  이벤트핸들러가 여러번 반복호출되는것이 아닙니다.
:
:    timer이벤트 핸들러함수가 끝나기전에
:    현재 thread의  메세지큐의 메세지 pump로직이 있는경우에만 해당됩니다.
:
:    VCL에서는 Application->ProcessMessages()라는 함수가
:    메세지큐에서 메세지를 가져와서 해당윈도우프로시져로 dispatch하는 역활을 하는데..
:    이 역활을 timer이벤트 핸들러 안에두게되면..
:    timer이벤트에서 작업중에 또 timer이벤트가 발생할수 있는것이지요
:
:     정확히 알고계신는지는 모르겠으나  답글에  표현은 정확하지 못했습니다.
:
: 하안인님..
:    손신영님 말때로 timer가 죽지는 않습니다.
:     db쪽은 잘모르는데..
:     timer이벤트에서 하는 db관련된 작업을 하시는데..
:     db쪽에서 발생하는 에러메세지 같습니다.
:     db가 shutdown진행중인데   db에 무엇인가 다른 작업을 하려고 하는것은 아닌지요?
:    
: 그럼..
:    
:
: 송신영 님이 쓰신 글 :
: : 타이머 내부에 코드를 정상적으로 작성하셨다면 몇일이 지나도 타이머는 죽지 않습니다.
: : Timer 내부의 코드를 다시한번 확인하세요...
: : 1초에 한번 호출될 경우 Timer 함수에서 1초안에 작업을 마무리 못할 경우
: : 같은 함수를 중복적으로 호출된다는 사실을 인지하셔야합니다.
: : 만약 Timer 함수를 한번 실행하는데 10초가 걸린다고 가정하면
: : 한번에 같은 함수가 10개가 실행된다고 보시면됩니다....
: : 참고 : http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=981
: :
: : DB를 사용하니 DB처리를 잘못하는 부분이 있을수 있구요..
: : 내부에서 메모리를 할당한다면 delete 처리가 잘되는지 확인해야하구요..
: :
: :
: : 하안인 님이 쓰신 글 :
: : : 데이타베이스에 있는 내용을 실시간으로 검색하기 위해서
: : : Timer을 1초주기로 계속 사용하도록 하고
: : : 그안에서 테이블을 검색하는 루틴을 만들어 놓았습니다.
: : :
: : : 그런데 12시간 정도 타이머가 돌아가다가는 죽어 버리네요.
: : : 메시지는
: : :  dm -> Timer1 Msg:SHUTDOWN이 진행 중입니다.
: : : 라는 메시지가 나옵니다.
: : :
: : : 타이머를 1초 주기로 계속돌려야 하는데 어떻게 해야 하나요.

+ -

관련 글 리스트
62139 Timer 을 1초동안 계속돌리면.... 하안인 1253 2010/08/12
62141     Re:Timer 을 1초동안 계속돌리면.... 송신영 1329 2010/08/12
62143         Re:Re:Timer 을 1초동안 계속돌리면.... 장성호 1134 2010/08/12
62178             Re:Re:Re:Timer 을 1초동안 계속돌리면.... 둘리.CSIEDA 1465 2010/08/17
62148             Re:Re:Re:Timer 을 1초동안 계속돌리면.... 송신영 1285 2010/08/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.