|
TThread는 바로 사용할 수 있는 클래스가 아닙니다.
반드시 상속을 받은 다음 사용해야 합니다.
C++에 대해서 조금더 공부하시는것이 좋을듯하네요 ^^
신우철 님이 쓰신 글 :
: C++Builer 초보입니다 Thread에 질문이 있어서 글 올립니다
:
:
: class A
: {
: TThread* m_pListenThread;
: void Init()
: void __fastcall A_ListenThreadProc(void);
:
: }
:
:
: void A::Init()
: {
: m_pListenThread = new TThread(false);
: // [C++ Error] IOCPSWin.cpp(167): E2352 Cannot create instance of abstract class 'TThread'
: // [C++ Error] IOCPSWin.cpp(167): E2353 Class 'TThread' is abstract because of '_fastcall TThread::Execute() = 0'
:
:
: m_pListenThread->Execute = A_ListenThreadProc;
: // [C++ Error] IOCPSWin.cpp(169): E2247 '_fastcall TThread::Execute()' is not accessible
: }
:
:
: 위와 같은 에러가 납니다
: 제가 할려고 하는거는 A_ListenThreadProc 포인터를 넘겨주고 A_ListenThreadProc 내에서 즉 Class A내에서 작업을
: 할려고 하는데 이런 에러가 나네요 물론 TThread를 상속받은 Class를 만들고 그 클래스 안에서 Execute()함수 내에서
: 작업을 할수 있지만 소스 자체가 유연해 보이지 않고 또한 서로 상호 참조가 될것 같다는 생각에서 위와같은
: 코딩을 하게 되었습니다
: 해결할 방법을 좀 아시는분은 답변 꼭좀 부탁드립니다
: VC++ 은 AfxBeginThread를 통해서 작업 함수를 포인터로 등록할수 있는것으로 알고있는데요 똑같은 기능을 C++Builer 에서
: 구현하고자 합니다 답변 꼭 부탁드립니다
|