|
안녕하세요.. __);
빌더 완전무결 초보입니다.. ^^;;
시리얼 통신으로 제품 설정 변경하는 것을 만들고 있습니다.
메인폼에서 설정버튼 누르면 쓰레드를 생성합니다.
(쓰레드는 TThread쓰지 않고 익숙한 WIN32쓰레드를 사용했습니다.)
param으로 프로그래스바를 넘겨 줍니다.
생성된 쓰레드 안에서
메인폼의 프로그레스바 Visible = true로 (평소엔 부끄러워 숨겨놨습니다.;;)
프로그레스바.StepIt()
작업이 끝나면 다시 프로그레스바.Visible = false;
로 했더니 웬걸.. ;; "동작은 잘 하지만, 프로그램 종료시"에 핸들이 유효하지 않는데요~ 라며 에러가 발생하더군요.
TThread 상속받아 Synchronize() 쓰려고 했지만, 일단 귀찮아서 그냥 SendMessage로 해결은 해놨는데요.
1) 어째서 쓰레드 안에서 메인폼 UI를 건드리면 안되는 건가요?
2) 종료할때 핸들이 유효하지 않다고 나오던데요.. 아니.. 프로그래스바 핸들이 쓴다고 닳는것도 아니고
(어라? 핸들한번 쓰셨네요? 핸들 아이디 -1000 입니다.. 같은게 있을리는 만무하겠죠..ㅡㅡ)?
무엇때문에 유효하지 않다는 것인지요?
빌더가 참.. 쓰면 쓸수록 뭐랄까.. 유니크 하다고 해야 할까요? 재밌다고 해야 할까요?
참 신선한 느낌입니다.
알고 계시는 분은 설명좀 부탁드리겠습니다.. __);
그럼 즐프되십시요~
|