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
[64240] 쓰레드 질문좀 드릴게요
빌더초보 [] 918 읽음    2011-04-26 12:14
쓰레드로 이미지 반복그리고있는중인데요
팁에있는 설명으로 쓰레드돌리는데요 자꾸 꺼지네요
스레드 실행시키면 첨엔 계속 그리다가 마우스를 움직이거나 키보드누르면
그냥 꺼저버립니다
void __fastcall TForm1::BmpStart(TObject *Sender)
{
	HWND h;
	TResourceStream *ResStream1;
	HINSTANCE ImageDllInstance;
	Graphics::TBitmap *wa1;
	wa1 =new Graphics::TBitmap;
	ImageDllInstance = LoadLibrary("angle.exe");    //DLL에서 이미지들을 가지고 온다.
	ResStream1 = new TResourceStream( (int)ImageDllInstance, "ID_800X600", RT_RCDATA );
	 h  = FindWindow(NULL,"팡야 united");
	wa1->LoadFromStream( dynamic_cast( ResStream1 ) );

	 HDC dc = GetDC(h);
	 do{
		TransparentBlt(dc, 0,0, 800,600, wa1->Canvas->Handle,
			0,0,800,600,RGB(255,255,255));
	  Application->ProcessMessages();
	 Sleep(3);
	 if(Form1->Caption != "사용중")
		break;
	 }while(1);
	 delete ResStream1,wa1;
	 ReleaseDC(h,dc);
	 FreeLibrary(ImageDllInstance);
}

이것처럼 반복하게 되어있구요

void __fastcall TForm1::Button2Click(TObject *Sender)
{
	Button2->Enabled = false;
	multi* bmp = new multi(&BmpStart, Sender);
	bmp;
}

이렇게 실행 시켰거든요

근데 키보드 입력이나 마우스 입력이 들어오면 바로 동작이 멈춰버려요
쓰레드는 계속도는거같은데;
싱크로나이즈 함수를 써야하는 건가요?

어떻게해야 동작이 안멈추고 끌때까지 돌아갈가요;
김태선님의 "지정 함수를 쓰레드에 실어서 실행시키는 클래스"
글을보고 따라했거든요..

+ -

관련 글 리스트
64240 쓰레드 질문좀 드릴게요 빌더초보 918 2011/04/26
64246     Re:쓰레드 질문좀 드릴게요 송신영 1101 2011/04/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.