【发布时间】:2012-01-16 14:31:05
【问题描述】:
我正在创建一个 Delphi 程序,我的程序中有这段代码:
begin
if edit1.Text='salam' then
begin
for i := 1 to 10 do
begin
progressbar1.Value := progressbar1.Value+1;
sleep(100);
end;
end;
end;
我想让进度条平稳移动。但这段代码不是那样的。
我该怎么办?我想在睡觉后重新绘制表格。
【问题讨论】:
-
您在 GUI 线程中执行
sleep(其他所有操作都已完成)并阻止 UI 重新绘制。您必须在另一个线程中执行此操作,或者在表单上使用TIdAntiFreeze组件。 -
您的真实代码肯定没有休眠。你想达到什么目的。
-
我想你在做之后忘记了
begin,在睡眠之后忘记了end。您肯定不想只循环设置progressbar1.value 的行吗? -
@WarrenP 阅读 cmets 到 Cesar 的答案。
-
我想知道 Sleep(x) 在 iOS 上是否更糟糕。应该是吧。
标签: ios delphi delphi-xe2 firemonkey