use*_*772 5 delphi sleep delphi-7 repeat
我有按钮点击反应的功能.当我点击按钮时,它应该开始重复并从数组中写入值并在主窗体上的标签中显示它们.问题是功能睡眠 - 有一些错误或什么的,因为当我点击按钮它等待很长时间然后它最终开始动作但很快.我们来看看我的代码.感谢建议.
procedure TForm1.ButtonMereniClick(Sender: TObject);
var
iterator: Integer;
begin
iterator := 1;
repeat
//write some values stored int arrays to labels on form
LabelTeplota.Caption:='Teplota: '+FloatToStr(poleTeplota[iterator]);
LabelVlhkost.Caption:='Vlhkost: '+FloatToStr(poleVlhkost[iterator]);
LabelTlak.Caption:='Atmosférický tlak: '+FloatToStr(poleTlak[iterator]);
LabelRychlost.Caption:='Rychlost v?tru: '+FloatToStr(poleRychlost[iterator]);
LabelRychlost.Caption:='Rychlost v?tru: '+FloatToStr(poleRychlost[iterator]);
LabelIterator.Caption:='iterator: '+IntToStr(iterator);
Sleep(500);//should be 5000
Inc(iterator);
until iterator = 20;
end;
Run Code Online (Sandbox Code Playgroud)
klu*_*udg 19
不要Sleep在GUI线程中使用函数,因为您阻止了正常的消息处理,并且您的应用程序行为异常.
目前尚不清楚您Sleep在代码中使用的原因.可能你应该从组件的OnTimer事件处理程序更新标签TTimer而不是使用循环.
| 归档时间: |
|
| 查看次数: |
6692 次 |
| 最近记录: |