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

C++빌더 Q&A
C++Builder Programming Q&A
[73577] TClientSocket 쓰레드 관련 문의
초보입니다ㅠㅠ [islovemin] 4613 읽음    2016-04-28 17:58
쓰레드를 추가하고 다음과 같이 구성했습니다

#pragma package(smart_init)
//---------------------------------------------------------------------------

//   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall TCP::UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }
//---------------------------------------------------------------------------

__fastcall TCP::TCP(void)
    : TThread(false)
{
    this->FreeOnTerminate = false;
    TClientSocket *Client = NULL;
    Client = new TClientSocket(NULL);
    Priority = tpTimeCritical;
}
//---------------------------------------------------------------------------
void __fastcall TCP::Execute()
{
    //---- Place thread code here ----
    while(!Terminated)
    {
    }
}
//---------------------------------------------------------------------------

void __fastcall TCP::fn_SockOpen()
{

    Client->Host = "192.168.0.142";
    Client->Port = 5001;

    if(!Client->Socket->Connected)
    {
        Client->Open();
    }
}
//---------------------------------------------------------------------------

void __fastcall TCP::fn_SockClose()
{
    if(Client->Socket->Connected)
    {
        Client->Close();
    }
}
//---------------------------------------------------------------------------

void __fastcall TCP::fn_SockSend(BYTE *SendByte, int size)
{
    if(Client->Socket->Connected)
    {
        Client->Socket->SendBuf(SendByte,size);
    }
}
__fastcall TCP::~TCP()
{
    delete Client;
}



메인 폼에서 b = new TCP; 이렇게 하고
b->fn_SockOpen(); 이코드를 통해 서버에 연결 하려고 했습니다.

프로그램 실행해보면 오픈에서
Client->Host = "192.168.0.142";

이부분에서 에러가 생기면서 프로그램이 죽네요
왜 도대체 저 코드라인을 가르치면서 죽는지 모르겠습니다.

첨부 파일은 코드가드가 내뿜은 메세지 입니다

테스트환경은 윈7에 빌더6.0 입니다

+ -

관련 글 리스트
73577 TClientSocket 쓰레드 관련 문의 초보입니다ㅠㅠ 4613 2016/04/28
73578     Re:TClientSocket 쓰레드 관련 문의 송신영 4675 2016/04/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.