2013-01-15 2 views
0

작업 할 때 다른 양식 위에 놓고 싶은 작은 양식을 만들었습니다. 기본적으로 작은 "로드 중입니다 ... 잠시 기다려주십시오."알림. 여기에는 애니메이션 TGIFImage이 포함됩니다. 문제는 다른 폼이 열심히 일할 때 애니메이션과이 폼의 업데이트가 더듬 거리는 것입니다. 아마 그들은 같은 스레드에서 실행되고 있기 때문에? 이 작은 양식을 항상 멋지게 업데이트 할 수있는 빠르고 쉬운 방법이 있습니까? 아마도 자신의 스레드에서 처리되는지 확인하는 빠른 방법일까요?다른 양식이 작동하고 있어도 하나의 양식이 계속 업데이트됩니다.

답변

0

고맙습니다. Remy Lebeau. 기존 코드를 가능한 한 많이 변경하고 기존 코드를 스레드 등으로 옮기지 않기를 바랬다. 결국 나는 스레드를 생성하고 해당 스레드에서 폼을 만드는 알림을위한 작은 공장을 갖게되었다. . 그렇게하면 기본적으로 ShowHide 호출로 기존 코드를 래핑하면됩니다.

0

하드 작업을 자체 실제 스레드로 옮깁니다. TThread 클래스를 참조하십시오. 폼을 정상적으로 표시 한 다음 스레드를 시작한 다음 스레드가 작업을 완료하면 Form을 닫습니다. 스레드가 주 스레드에 대한 상태 업데이트를 비동기 적으로 게시하도록해야합니다 (예 : 진행률 막대 등). 그러면 작업자 스레드가 주 스레드를 기다리는 속도가 느려지지 않습니다.

관련 문제