소스 참고하세요.
타이머 이벤트가 계속 실행이 되니 그런 현상이 발생한 겁니다.
수고하세요.
procedure TFomr1.Timer1Timer(Sender: TObject);
: begin
: progressbar1.Position := progressbar1.Position +1;
: if Progressvar1.Position = progressbar1.Max then
: begin
Timer1.enabled := false; //<-- 소스추가// 타이머 중지를 해야합니다. 타이머가 계속 실행이 되니 계속 폼이 생성되지요..
: Form2 := TForm2.Create(Application);
: Caption := IntTostr(Application.ComponentCount);
: For2.Show;
: end;
: end;
:
: end.
델파이초보 님이 쓰신 글 :
: 델파이 초보입니다..
: 책이 더복잡하여 여러 자료들을 참고하면서 프로그램을만들고있습니다.
: 메인화면에서 버튼1을 누르면 프로그레스바가 실행되고 다 끝나면 다음창으로 넘어가려고합니다..
:
: 처음에는
:
:
: procedure TFomr1.Timer1Timer(Sender: TObject);
: begin
: progressbar1.Position := progressbar1.Position +1;
: if Progressvar1.Position = progressbar1.Max then
: begin
: Form2 := TForm2.Create(Application);
: Caption := IntTostr(Application.ComponentCount);
: For2.Show;
: end;
: end;
:
: end.
:
: 이런식으로 하니까 다음창이 무한대로 켜지더라고요..
: 어떻게 하면 한번만 나올까요..?
: 그리고 다음폼이 켜지면 그 전폼은 Close 가 됬으면 하는데..그것도 안됩니다..ㅠㅠ
|