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
[21980] Thread 다시 시작하는 방법
빌더매니아 [neutrino] 1474 읽음    2002-10-10 23:15
앞서 검색한 글에 임프님의 글을 읽으니, 한번 쓰레드를 terminate하고 delete하면 execute method가 종료되어 다시 생성하는 방법은 없다고 읽었습니다.

void __fastcall TMainFrame::StartClick(TObject *Sender)
{
 
  Scan = new Scanning(false);

}


void __fastcall TMainFrame::AbortClick(TObject *Sender)
{
  
    Scan->Terminate();
    Scan->WaitFor();
    Scan = NULL;
    delete Scan;

}

지금 이런 형국으로 Start버튼으로는 쓰레드 생성을, Abort버튼으로는 소멸을 하고 있지요.
suspend나 resume 메소드는 일시정지기능으로 이미 사용하고 있구요,

반드시 쓰레드를 소멸하고 비트맵 픽셀수를 재조정하고(지금 쓰레드로 비트맵에 라인 긋고 있거든요, 라인이 맨 아래부터 차곡차곡 쌓이죠~) 다시 쓰레드를 실행하고 싶은데요(즉 새 비트맵위에 처음부터 다시 그리고 싶은데요), 임프님 말씀대로 Abort버튼 누르고 다시 Start버튼 누르면 에러가 나네요. 어플리케이션을 종료하고 다시 시작해서 하면 되고요 --;

goto문등 갖은 꽁수를 써도 잘 안됩니다.
쉽게 생각하면 완전히 메모리까지 해제했는데도 왜 다시 생성이 안되는지 의아합니다.
좋은 방법 없을까요 고수님들~

+ -

관련 글 리스트
21980 Thread 다시 시작하는 방법 빌더매니아 1474 2002/10/10
21985     Re:Thread 다시 시작하는 방법(자문자답) 빌더매니아 988 2002/10/11
21981     Re:소스 보니 순서가 좀 ^^ 아제나 903 2002/10/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.