Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15671] Re:idTCPServer의 onExecute이벤트에서 VCL을 사용할때
locke [syiware] 1680 읽음    2016-04-14 15:38
TIdTCPServer는 멀티스레드 방식의 범용 소켓 컴포넌트입니다. (클라이언트 하나당 스레드 1개씩 생성)
OnExecute 이벤트 자체가 스레드에서 호출하는 call back 함수라고 보시면 됩니다.
당연히 메인과 서브 스레드가 하나의 vcl을 동시에 사용하려고 한다면 충돌이 발생하죠.
충돌이 발생하지 않도록 하는 방법은 여러가지가 있고 또 해당 vcl을 특정 하나의 스레드에서만 제어한다면
vcl 컨트롤(혹은 컴포넌트)자체가 메인스레드 소속이라도 충돌은 안일어납니다.
재량껏 작업하시면 될 듯 합니다.
-locke

첫눈 님이 쓰신 글 :
: TidTCPServer의 onExecute이벤트는 별도로 TThread객체를 만들어 주지 않아도 기본적으로 쓰레드 처리가 되는 것으로 알고있습니다.
:
: 즉, TidTCPServer의 onExecute안에서 처리해준 코드는 메인쓰레드가 아닌 새로운 쓰레드가 생성되어 처리된다고 이해하고 있는데요.
:
: 만일 그렇다면 TidTCPServer의 onExecute이벤트에서 VCL객체를 사용하려면
: TThread객체에서 VCL객체를 사용할때 Syncronize처리하는 것 처럼
: TidTCPServer의 onExecute에서도 Syncronize처리해야 하는건가요?

+ -

관련 글 리스트
15667 idTCPServer의 onExecute이벤트에서 VCL을 사용할때 첫눈 1674 2016/04/09
15671     Re:idTCPServer의 onExecute이벤트에서 VCL을 사용할때 locke 1680 2016/04/14
15673         Re:Re:답변 감사합니다. 첫눈 1618 2016/04/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.