如何在一个长时间执行的循环前刷新界面控件显示?
用下面的语句统计并显示一个目录的大小,由于后面的语句运行时间较长,所以想先在状态条上显示 '统计目录大小:...';
但实际执行时,这一句总是不显示就进入到下面语句体的执行,要怎么才能让这个内容在执行后面的长时间语句前先显示出来?
Screen.Cursor:=crHourGlass;
slf:=TStringList.Create;
Statusbar1.SimpleText:=EdtMachinePath.Text + '统计目录大小:...';
StatusBar1.Repaint;
FindAllFile(EdtMachinePath.Text,slf);
gDirSpace:=0;
I:=0;
while(I<slf.Count-1) do
begin
gDirSpace:=gDirSpace+GetFileSizeByName(slf.Strings[I]);
Inc(I);
end;
slf.Free;
Screen.Cursor:=crDefault;
Statusbar1.SimpleText:=EdtMachinePath.Text + '大小:'+ IntToStr(gDirSpace) + 'KB';