|
궁금이 님이 쓰신 글 :
: 어떤 진행상황을 보고자 다음과 같이 했습니다.
:
: ProgressBar1->Position = 0;
: while(!TAlpa2001->Eof){
: j++;
: ProgressBar1->Position = (TProgressRange)((j/TAlpa2001->RecordCount)*100);
: 이런 저런 작업들...
: }
:
: 그런데 프로그램을 실행시키면 다운될것 같이 멈추었다가
:
: 상황이 완료되면 프로그래스 바는 Max까지 되어있습니다.
:
: 프로그래스바가 점점 카운트되어 올라가는것을 볼수가 없네요.
:
: 어떻게 해야 될지..
:
이럴 경우는 쓰레드를 사용할 수 밖에는 없을 겁니다.
간단하게 대략의 과정을 말씀드리자면,
[File]-[New...]-[Thread Object]를 선택하여
TThread를 상속받은 스레드 객체를 만드신 후
위의 '이런 저런 작업'을 수행하는 기능을
스레드의 UpdateThread() 함수 안에 코딩하신 후,
위의 ProgressBar1->Position을 수정하는 코드도
같이 넣으시면 됩니다.
시간이 오래 걸리는 작업을 수행하실 때는 이렇게 꼭
스레드를 만들어서 수행하시고 진행상황을 '프로그레스 바'('래'가 아니라 '레'가 맞는 발음이지요!)
에 표시하시는 게 좋은 습관입니다.
자세한 설명은 쓰레드에 대해 설명한 책을 참고하세요.
|