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
[50261] Re:[질문]Re:Re:TThread 에 관해서...
이현진 [cyberpd] 1530 읽음    2007-08-14 13:23
: 예 상속받아서 쓰는건 알겠는데 다른 CLASS 즉 TestThread 클래스를 상속받고
: TestThread ::Execute()함수에 제가 정의한 A_ListenThreadProc 포인터를 넘겨서
: A 클래스에서 작업함수만 정의해서 쓸수 있냐 하는겁니다
: IOCP를 작업중인데 쓰레드를 여러개 생성해야 하거든요
: 그럴려면 IOCP클래스에서 여러개의 쓰레드 클래스를 정의하고 IOCP클래스에서는 ThreadPoc만
: 넘겨서 사용할수 있어야 자유롭게 쓸텐데요 함수포인터를 Execute() 에 넘길 방법이 없는지요
: 예를 들어 TestThread->Execute =  A_ListenThreadProc
: 이렇게요 답변 감사합니다만 이것도 가능한지 알려주세요
: 이것또한 에러가 나네요 
: 멤버함수는 다른클래스에 함수포인터를 넘길수 없다는 에러가 나오는데 VC++에서는 가능한걸로 알고있거든요

TThread 클래스를 상속받는 쓰레드 클래스를 정의하고(TMyThread), 함수포인터를 멤버로 가지면 됩니다.

void __fastcall TMyThread::Execute()
{
   if(func_ptr != NULL) func_ptr();
}


TMyThread thread=new TMyThread(true);
thread->func_ptr=my_func();
thread->Execute();

쓰레드 종료시, 또는 UI와 연동시 동기화 문제만 처리하시면 됩니다.

+ -

관련 글 리스트
50254 TThread 에 관해서... 신우철 1824 2007/08/14
50256     Re:TThread 에 관해서... 크레브 2154 2007/08/14
50255     Re:TThread 에 관해서... 이현진 1694 2007/08/14
50259         [질문]Re:Re:TThread 에 관해서... 신우철 1500 2007/08/14
50262             Re:[질문]Re:Re:TThread 에 관해서... 장성호 1660 2007/08/14
50261             Re:[질문]Re:Re:TThread 에 관해서... 이현진 1530 2007/08/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.