|
타이머 이벤트는
타이머가 Enabled 일때만 동작합니다.
이벤트 함수내에서 Enabled조건을 놓을 필요 없어요,
아래처럼
단순하게 사용해도 됩니다.
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{
static int count = 0;
if(++count >= 10) {
((TTimer*)Sender)->Enabled = false;
count = 0;
}
else {
ShowMessage("Hi");
}
}
장경선 님이 쓰신 글 :
: 그 아이 님이 쓰신 글 :
: :
: : int count = 0;
: :
: : void __fastcall TForm2::Timer1Timer(TObject *Sender)
: : {
: : if (!Timer1->Enabled) {
: : return;
: : }
: :
: : //int i = 0;
: : //for (i = 0; i < 10; i++) {
: : ShowMessage("Hi");
: : count++;
: : if (count == 10){
: : Timer1->Enabled = false;
: : }
: : //}
: : }
:
:
: 위 소스대로 작성해도 똑같이 Hi 메시지만 계속 뜹니다.
: 그래서 아래와 같이 다시 작성했더니 계속해서 Hi 메시지가 안뜹니다.
:
: 덕분에 안 풀리던 문제를 해결할 수 있어서 고맙습니다.
:
: void __fastcall TForm2::Timer1Timer(TObject *Sender)
: {
: static int count = 0;
: if (Timer1->Enabled == true) {
: count++;
: if (count == 10) {
: Timer1->Enabled = false;
: return;
: }
: }
: ShowMessage("Hi");
: }
|