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
[50070] Re:타이머에 대한 기초 질문 올립니다. 꼭 답변 좀 부탁드려요.
아루스 [tinydew4] 1096 읽음    2007-07-24 23:10
Timer 하나를 두군데서 참조한 것이 정상적으로 보이진 않지만 다운의 직접 요인은 아닌 것 같네요.

한가지 떠오른 생각이 두 버튼에서 동작하는 코드가 Count 변수를 공유하는 것으로 보아
마지막 Count-- 부분에서 문제가 있어보이네요.
Button1 에서 Count-- 로 Count 가 0 이 되어 탈출 하고나면
Button2 에서 시간이 안되어 루프를 돌다가 Count-- 를 만납니다
이 때, 이미 Count 는 0 이므로 -1 값이 되죠.
while ( Count ) 부분을 보면 Count 가 0 이 아니면 계속 돌게 될 겁니다.

부분밖에 안보여서 정확한 다운의 원인인지는 모르겠습니다만 문제가 있어 보입니다.



왕초보 님이 쓰신 글 :
: void __fastcall examlpe(int ret, int result)
: {
: int i=0;
: i= abs(ret-result);
: Timer1->Enabled=true;
: while(1)
:         {
:             Application->ProcessMessages();
:             if (Count >=i)
:                 break;
:         }
: int iFirst = timeGetTime();
:         while(Count)
:         {
:             while((timeGetTime() - iFirst) < 1000)
:             {
:                 Application->ProcessMessages();
:             }
:             Count--;
:         }
: Timer1->Enabled=false;
: }
:
: 다음과 같은 함수를 하나 만들었습니다.
:
: 다른 함수에서 위의 함수를 호출했는데
:
: 실행할때 가령 버튼 두개에서 동시에 클릭을 하면 나중에 클릭한 하나만 작동하고 실행파일이 다운됩니다.
:
: 하나씩 각각 클릭 했을때는 작동을 잘 하는데 두개에서 동시에 클릭을 하니 작동이 안되더군요.
:
: 해결방법이 있을까요??
:
: 제가 몰 잘못했는지 초보라 잘 모르겠네요..해결 방법 좀 알려주세요..

+ -

관련 글 리스트
50064 타이머에 대한 기초 질문 올립니다. 꼭 답변 좀 부탁드려요. 왕초보 1023 2007/07/24
50070     Re:타이머에 대한 기초 질문 올립니다. 꼭 답변 좀 부탁드려요. 아루스 1096 2007/07/24
50072         Re:Re:답변해 주셔서 감사합니다(냉무) 왕초보 930 2007/07/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.