쓰레드 처음 사용하는거라서 그런지. 아직 개념도 안잡힌 상태인데요..ㅜ.ㅜ
일단 써야되기에 쓰는데.
잘 안되네요. 일단 실행은 다 되는데 실행다되고 '종료' 를 누르게 되면
Form1.ProgressBar1.Visible := True;
Form1.ProgressBar1.Max := m_cnt;
Form1.ProgressBar1.Position := 1;
i := 1;
while(m_bRunning = True) and (i <= 100)do
begin
Form1.ProgressBar1.Position := i
i := i + 1;
end;
SendMessage(Form1.Handle, BK_RESETCONTROL, 0, 0);
Terminate;
위와 같이...처리 했습니다.
실제 소스는 아니고요. 지금 에러가 하두나서 다 막아놓고 테스트 삼아 코딩한건데요.
Form1.~ 이렇게 프로그레스 바 셋팅하는 부분을 막아놓으면
에러가 나지 않다가 스레드 안에서 저렇게 셋팅을 딱 하면
프로그램 돌아가는 건 문제없이 잘 돌아가는데요.
끝나고 종료를 누르면..
Project test.exe raised exception class EOSError with message ' System Error, Code 1400. 잘못된 창 핸들입니다.'
Process stopped. use step or Run to continue.
이렇게..ㅡ,ㅡ 메시지가 항상 뜹니다..
쩝..
form1.~ 이렇게 되있는 부분을 막고 단순 연산하고 끝내는...거라면..
종료 시 아무 문제없는데
form1.~ 이런식으로 되어있는 부분을 추가하는순간..에러가 폭주하네요..ㅜ.ㅜ
제가 form1 의 핸들을 따로 받아와서 해야하나요?ㅜ.ㅜ
아...초보다보니 힘드네요.
그리고 여유 되시는분..ㅡ,ㅡ 이 쓰레드 안에서 원래 의도는
엑셀 파일을 읽는거거든요.
엑셀 파일 읽어서 디비에 넣는데..
이상하게.ㅡ,ㅡ 다 close 해준다고 해주엇는데..
프로세스 창에 보면 excel.exe 파일이 나중에 보면 주루루루~올라와있네요.
이건..ㅜ.ㅜ 대체 왜 종료가 안되는지도 종료좀 부탁드리겠습니다.
감사합니다. 수고하세요.(__)~
|