귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
질문과 답변 질문과 답변 입니다.
글내용 - 질문과 답변
 [질문] 쓰레드 구동 도중 프로그램을 종료 시킬 수 있을까요?
시작인
(수)
2019-04-12 오후 6:16:31
304회 조회


등록된 파일이 없습니다.

1. 개발/실행 플랫폼

(1) OS :

(2) 개발툴 :

(3) 사용 Database :

2. 개발 중인 프로그램

3. 질문 내용

 

안녕하세요.

프로그램종료 관련 질문을 다시 드립니다.

 

프로그램을 시작하고

쓰레드를 생성시켜

쓰레드 내부에서 특정파일 존재여부 확인하고

파일이 없다면 쓰레드를 빠져나가게 했습니다.

문제는 이렇게 쓰레드를 빠져나가며 쓰레드 마지막에

Application.Terminate 를 했는데도

프로그램은 계속 실행중이네요.

제 의도는 특정 파일이 없다면 프로그램이 종료됐으면 하거든요.

원래 쓰레드 내부에서는 메인프로그램을 종료 시킬 수 없는 건가요?

 

 

ThreadTest1: TThreadTest1;

...

ThreadTest1 := TThreadTest1.Create;

...

 

procedure TThreadTest1.Execute;

begin

  try

    if Not 파일존재여부 then

      Exit;

    while Not Terminated do
    begin

    // 쓰레드 내용 실행

    end;

  finally

    Application.Terminate;

  end;

end;

 

 

* 물론 프로그램을 실행하며 초기에 해당 파일의 존재여부를 확인 할수도 있지만 

  프로그램 진행도중 파일이 소실되는 경우도 있기에 위와같이 구성을 하려고 합니다.