Q&A

  • 소켓수신을 쓰레드로 할때...
TClientSocket을 이용합니다

MainForm에서 TClientSocket을 올리고

Thread에서 패킷을 수신을 받습니다

수신을 받아...처리하고..처리 결과들을 MainForm에다 뿌린다던지..

해야 하는데요... 이 쓰레드 내에서 해당 Form으로 데이터를 넘기는 방법은 어떤 방법들이 있나요?

일단 제가 지금 처리 하고 있는 방법으로는...

쓰레드 생성시 폼의 핸들과...전역 변수들을 가지고 있는 클래스를 같이 넘겨서

쓰레드 내에서 값을 변경한다음 ShowMessage로 알려주던가...

아니면 이벤트를 생성해서 넘겼는데요...

이벤트로 할때에는 이벤트 처리에서 시간이 걸리는 작업을 하니...영 작동이 이상하게 되더라구요

그리고 ShowMessage를 이용할땐...Form이나 핸들이 있는거면..괜찮은데..

일반 Class(TObject)에서.. TClientSocket을 생성하고..쓰레드 생성하니...쓰레드에서 Class로 데이터를 보낼려니...갑갑하네요...

보통 이런경우에는 어떻게 처리를 하나요?

1  COMMENTS
  • Profile
    장태원 2003.11.26 01:24
    TClientSocket 에서 수신부분에는 Thread 가 필요없을텐데요...
    또 Object 는 form 명을 지정하시면 됩니다.

    Thread 메소드안에서도 다른 객체의 소스를 참조하거나, 정의하실수 있습니다.