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
[54019] 클래스로 선언된 유닛에서 CreateThread() 인자중 LPTHREAD_START_ROUTINE 선언 문의드립니다.
역삼골 [saonara] 3120 읽음    2008-07-22 11:57
//---------------------------------------------------------------------------
// Start watch dog thread
//---------------------------------------------------------------------------
bool __fastcall TCOMClass::COMM_StartWatchDogThread(int m_nPort)
{
    ...

    //The CreateThread function
    if( (CommInfo[m_nPort].hWatchThread =
              CreateThread((LPSECURITY_ATTRIBUTES)NULL,
                                      0,   
                                      (LPTHREAD_START_ROUTINE)COMM_CommWatchProc, 
                                      (LPVOID)m_nPort,
                                      CREATE_SUSPENDED,
                                      &(CommInfo[m_nPort].dwThreadID))) == NULL)   
    {
     ....   
     }
}

void __fastcall TCOMClass::COMM_CommWatchProc(int m_nPort)
{

...

}

---------------------------------------

이렇게 코딩했더니
CreateThread에서
"member function must be called or its address taken"
이라는 에러가 납니다.

물론
COMM_CommWatchProc 함수를 클래스가 아닌 일반 함수로 선언하면 잘됩니다.

클래스 함수는 못쓰는건가요?

읽어주셔서
감사합니다.

+ -

관련 글 리스트
54019 클래스로 선언된 유닛에서 CreateThread() 인자중 LPTHREAD_START_ROUTINE 선언 문의드립니다. 역삼골 3120 2008/07/22
54021     Re:클래스로 선언된 유닛에서 CreateThread() 인자중 LPTHREAD_START_ROUTINE 선언 문의드립니다. 장성호 2621 2008/07/22
54022         Re:감사합니다. ^^ 역삼골 2040 2008/07/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.