안녕하세요...질문사항이 있어 이렇게 글을 올립니다.
with FrmQDATA.Query1 do
begin
Close;
Sql.Clear;
Sql.Add(m_Query);
Open;
Edit1.Text := '비활성';
CurrencyEdit1.Value := RecordCount;
First;
//Showmessage('');
while Not Eof do
begin
Table1.Append;
...
Table1.Post;
end;
end;
이런식으로 했는데요..
기본값으로 Edit1.Text := '활성' CurrencyEdit1.Value = 0 인데요
검색하는동안에 Edit1.Text와 CurrencyEdit1.Value 값이 바뀌지 않네요..
Showmessage부분을 주석처리 하지 않고 테스트 하면 분명히
Edit1.Text := '비활성화' 와 CurrencyEdit1.Value 부분에 검색된 갯수가 나타나는 돼요..
이유를 모르겠네요...
답변좀 부탁드립니다.
화면을 갱신하는 것은 우선순위가 가장 낮아서 빠른 순차적처리를 할때 잘 나타나지 않습니다. ShowMessage같은 경우는 창이 나타나고 사용자가 버튼을 클릭할때까지의 텀이 있습니다. 컴퓨터 입장에서는 이 텀이 아주 길죠. 그렇기 때문에 ShowMessage가 있으면 그 텀동안에 에디트를 갱신할 여유가 있는겁니다. Application.ProcessMessages를 써서 강제로 처리하도록 해주시면 될겁니다...
Edit1.Text := '비활성';
Application.ProcessMessages
^^ 항상 즐코하세요...