Q&A

  • [질문] TClientSocket을 20개 이상 사용하려 합니다.
초보인 제가 이것저것 고민하다가 방법 해결을 여쭙고자 합니다.
현재 TClientScoekt Component를 동적으로 다수 생성하여,
여러 Server 프로그램에 접속하여 Data를 주고 받는 S/W를 제작하고 있습니다.
FormCreate 이벤트에서 아래 코드와 같이 다수의 ClientSocket을 생섭합니다.


ClientModule : TClientSocket;

for i := 0 to 20 do begin
  ClientModule := TClientSocket.Create(Self);
  ClientModule.Name  := 'ClientModule'+IntToStr(i);
  ClientModule.OnConnect := onClientEvent;
  .
  .
  .
end;


FormDestroy 이벤트에서 아래 코드와 같이 ClientSocket을 닫아 줍니다.

for i := 0 to 20 do begin
  (FindComponent('ClientModule'+inttostr(i)) as TClientSocket).Free;
end;


이와 같이 코딩하면 Form을 닫을 때 오류없이 정상적으로 닫힙니다만,
프로세스에 실행 파일이 종료되지 않고 남아 있습니다.
이 때문에 다른 프로그램을 수행할 때 오류가 발생합니다.
코딩 상에 문제가 있는 것인지, 아니면 ClientSocket을 다수 사용하는 방법이 잘못 된건지 알고 싶습니다.
고수님들의 답변을 간절히 부탁 드리겠습니다. 꾸벅...
0  COMMENTS