진행률 막대를 사용하여 재생 중입니다 ... 진행률 막대가 줄 끝까지 도달하면 메시지를 표시하려고합니다 (100 %). 이 위치에 도달하면 100.That이 Raize 문제에 아마이면 나를 걱정하게 지속적으로 메시지를 발사 유지하기 때문에ProgresBar - 막대가 100 %에 도달 한 후에 메시지를 표시합니다.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
rzprogressstatus1.Percent := rzprogressstatus1.Percent +1;
if rzprogressstatus1.Percent = 100 then begin
showmessage('Yo');
application.Terminate;
end;
end;
을하지만, 그렇지 않은 AdvProgressBar을 위해 : TMS AdvProgressBar) 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;
내가 말했듯이, 나는 바 끝에 도달 한 다음 응용 프로그램을 종료 할 때 메시지를 표시하고 싶습니다. 내가 여기서 무엇을 놓치고 있니? 그것을 할 수있는 더 좋은 방법이 있습니까?
그래서 어떻게 될까요? 메시지가 표시되지 않습니까? 위치는 결코 100과 같지 않습니까? 무슨 일이 일어 났는지 분명히 해? 디버깅 결과를 알려주십시오. –
처음부터 올바른 일을하고 있습니까? 두 경우 모두 100 %에 도달 했으니 까 ... – user763539
코드가 좋지 않습니다. 하지만 어쨌든 실제 코드는 아닙니다. 타이머의 대화 상자를 보면 모호한 것처럼 보입니다. 대화 상자가 표시됩니까? –