본문 바로가기
Delphi Tip/+Tip

Application.ProcessMessages의 역할과 주의점

by MonoSoft 2025. 4. 8.
728x90
반응형

Application.ProcessMessages의 역할과 주의점

 

델파이에서 Application.ProcessMessages는 
현재 대기 중인 Windows 메시지를 즉시 처리하도록 하는 함수입니다. 
주로 루프나 지연 작업 중 UI가 멈추지 않도록 할 때 사용됩니다. 
하지만 과도한 사용은 오히려 성능과 안정성에 부정적인 영향을 줄 수 있어 
신중하게 써야 합니다.

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 1 to 100 do
  begin
    Label1.Caption := Format('진행 중: %d%%', [I]);
    Application.ProcessMessages; // UI 응답 유지
    Sleep(50); // 일부러 지연
  end;
  ShowMessage('완료되었습니다!');
end;

● ProcessMessages는 이벤트 처리와 화면 갱신을 유지
● 무한 루프나 대기 작업에서 반드시 종료 조건 필요
● 남용 시 재귀 호출, UI 혼란, 입력 누락 등의 부작용 발생 가능

#Delphi
#ApplicationProcessMessages
#UI응답
#루프처리
#이벤트핸들링
#델파이팁
#VCL프로그래밍
#윈도우메시지

728x90
반응형

댓글