我正在玩进度条...尝试在进度条到达行尾(100%)时显示一条消息(我使用了 Raize 状态栏和 TMS AdvProgressBar)对于 Raize,此代码示例似乎有效:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
rzprogressstatus1.Percent := rzprogressstatus1.Percent +1;
if rzprogressstatus1.Percent = 100 then begin
showmessage('Yo');
application.Terminate;
end;
end;
但是,对于 AdvProgressBar,它不会,因为当位置达到 100 时它会不断发出消息。这让我担心 Raize 是否有麻烦。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
AdvProgressBar1.Position := AdvProgressBar1.Position +1;
if AdvProgressBar1.Position = 100 then begin
showmessage('Yo');
application.Terminate;
end;
end;
编辑:调试器显示:
第一次机会例外在 $00649D6C。异常类 $C0000005 带有消息“0x00649d6c 处的访问冲突:读取地址 0x00000048”。处理 Project1.exe (2928) 并在以下代码处停止:
procedure TTimer.SetEnabled(Value: Boolean);
begin
if Value <> FEnabled then begin
FEnabled := Value;
UpdateTimer;
end;
end;
就像我说的,我想在栏到达末尾时显示一条消息,然后终止应用程序。我在这里想念什么?有更好的方法吗?