Thread를 구현하는데 문제가 생겼습니다.
질문의 이해를 돕기 위해 저의 프로그램에 관해 설명을 좀 드리겠습니다.
저의 프로그램은 4개 이상의 멀티모뎀을 장착한 팩스서버 프로그램입니다.
4개 이상의 포트를 물리적으로 열어 놓고 메일 서버와 I/O를 하여
제때에 팩스를 보내야합니다.
그래서 열린 포트를 찾아 이 포트가 열려있고 받는 상태도 아니고 보내는
상태도 아니면 이 포트를 이용해 팩스를 보내야 합니다.
그래서 팩스보내는 작업을 Thread로 구현하고 있습니다.
Main_Unit의 맨위의 uses절에 SendThread_unit을 포함시켰습니다.
왜냐하면 Main_Unit의 public영역에 SendThread_unit에 정의된
SendThread의 배열을 선언했기 때문입니다.
Nain_Unit에서 SendThread을 생성시킵니다.
SendThread의 생성시엔 SendThread안의 protected영역에 있는 SendFax
컴퍼넌트를 동적으로 생성시킵니다.
SendThread를 소멸시켜야 하는 시점은 SendThread안에 있는 SendFax가
Finish되었을 때 입니다.
여기서 문제가 되는것이 SendFax는 SendThread안에 속해 있는 것인데,
SendFax의 이벤트가 발생할때 SendThread를 죽일수는 없는것 아닙니까.
Main_Unit에서 처리를 해줄려니깐 SendFax의OnFinish이벤트시에 Main_Unit로
메세지를 보내주는게 제일 나을꺼 같아서요.
제질문을 읽어 보시고 다른 좋은 방법이 있으신분, 조언 부탁드리구요.
메세지 처리에 대해 답변을 해 주셔도 좋습니다.
그럼 이만...
|