|
프로그램 구동시에 ProgressBar 를 갱신하는 코드를 작성하였는데 이 코드가 쓰레드에서 동작하는 것을 인지하지 못하고 Synchronize 없이 작업했던적이 있었죠.
그 기능이 들어갔을때는 잘 동작하였고, 몇번의 수정후에 갑자기 종료시 access violation 이 발생하더군요.
당연히 최근 수정된 부분만 찾아보다가 시간만 엄청 버렸구요.
이런 경험을 하셔도 괜찮으면(?) 하셔도 되요.
UI 자원은 메인쓰레드 것이니 웬만하면 직접 기르신 쓰레드에게는 남의 것을 함부로 하지 말라고 가르쳐주세요.
성시완 님이 쓰신 글 :
: 메인 폼에 에디트 컨트롤이 하나 있고
: 쓰레드를 생성해서 이 에디트 컨트롤에 숫자를 증가시켜 주고 있습니다.
: 물론 이 쓰레드는 제가 만든 것으로 메인 쓰레드랑은 다르지요.
: 쓰레드 내에서 숫자를 증가시키고 메인 폼 포인트를 갖고 있어서 에디트 컨트롤에 직접 업데이트 해줍니다.
: 그런데 질문란에 보니까 폼에 업데이트 할 때 Synchronize함수 를 쓰라는데
: 꼭 이걸 써야 하나요. 딱히 문제는 없어 보이는데 아시는 분 답변 좀 해주세요.
: 지금은 문제가 없지만 나중에 혹시 문제가 될 것 같아 불안하네요.
: 감사합니다.
|