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
[50072] Re:Re:답변해 주셔서 감사합니다(냉무)
왕초보 [] 929 읽음    2007-07-25 10:47
허정주 님이 쓰신 글 :
: 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:답변해 주셔서 감사합니다(냉무) 왕초보 929 2007/07/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.