为何为不能正确显示进度?请大虾指点一下..谢了..procedure TWebForm.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
var
I,StepCount : Integer;
begin
//动态创建进度条组件progressBar
progressBar1:=TProgressBar.Create(WebForm);
with progressBar1 do
begin
// 先确定进度条组件的尺寸和位置
Top:=ProgressBarRect.Top;
Left:=ProgressBarRect.Left;
Width:=ProgressBarRect.Right-ProgressBarRect.Left;
Height:=ProgressBarRect.Bottom-ProgressBarRect.Top;
Visible:=True; // 使进度条可见
try
Parent:=StatusBar1; // parent属性设置为状态栏组件
Min:=0;// 设定进度条的范围和步长
Max:=ProgressMax;
Step:=1;
//for I:=1 to Max do
Position:=Progress;// 循环使进度显示条累加 finally
Free;// 最后释放进度条组件占用的资源
end;
end;
end;
结果当然是什么都看不到progresschange事件会频繁的触发,你的逻辑就不正确progressBar1是全局的,如果你是从控件栏拖上去的,那么你就不需要再创建它,把(progressBar1:=TProgressBar.Create(WebForm); 和Free;// 最后释放进度条组件占用的资源 )
这2处去掉
如果progressBar1是你定义的TProgressbar变量,那么把(progressBar1:=TProgressBar.Create(WebForm); 和Free;// 最后释放进度条组件占用的资源 )分别放到formcreate和formdestroy事件中去