질문하신 내용의 요지를 제가 정확히 파악하고 있는지는 모르겠지만...
다음과 같다는 생각이 들어서요....
즉.... 한개의 프로세서에서 무한루프식으로 반복문이 수행되게되면... 이때 다름 이벤트를
잡아내는것이 그 반복문이 끝나기 전까지는 안되게 되어있는데... 이때 다음과 같이하게 되면..
즉 Application->ProcessMessages(); 라는것을 사용하게 되면... 다른 이벤트를 그때마다
검사하여 있으면 처리하게 됩니다....
즉 아래의 예에서 만일 Application->ProcessMessages(); 이 없었다면... 반복문이 끝나기
전까지는 Loop_Check 값은 변하지 않게 되는데.. 이것을 사용하므로써.. 변하게 할수
있다는 거죠....
질문하신 요지는 혹 이게 아닌가 하여.. 몇자 적었습니다..
그럼...
~도치였습니다.
void __fastcall Tfrm_LoopMain::BitBtn1Click(TObject *Sender)
{
int i;
Loop_Check = 1;
for(i=0;i<10000;) {
if (Loop_Check==1) Edit1->Text = IntToStr(++i);
Application->ProcessMessages();
}
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_LoopMain::BitBtn2Click(TObject *Sender)
{
Loop_Check = !Loop_Check;
}
|