Delphi-v5와 스레드에서 실행되는 구성 요소 (TmFileScan - thanks Mats)를 사용하여 스레드를 정상적으로 종료 할 수 있기를 원합니다. 여기에서 많은 검색과 읽기를 한 후에 나는 그것을 끝낼 수 있었지만 중단 후 화면 정리를 처리하는 이벤트가 필요합니다. thread onterminate - 이벤트 작성에 도움이됩니다.
는 스레드에서 나는Button1Click...
begin
SearchThread.Terminate;
end;
응용 프로그램에서 다음
while not(Terminated) do // Iterating about a zillion times :)
...
를 ... 추가하고 그것을 잘 작동합니다. 스레드가 정상적으로 완료되면 시작되는 기존 OnReady 이벤트에서 화면을 정리합니다. 그러나 스레드가 종료 된 경우에는 OnAbort 이벤트를 구성 요소에 추가해야합니다.
누군가 해당 이벤트에 대한 코드 스 니펫을 제공해 줄 수 있습니까? 구성 요소에는 일시 중지 및 다시 시작 이벤트가 있지만 중단은 없습니다.
감사합니다.
가능한 중복 [어떻게 죽일 : 당신이 this TmFileScan component를 사용하는 가정은, 그때는
OnReady
이벤트가 항상 트리거되도록 다음과 같은 수정을 제안 델파이의 스레드?] (http://stackoverflow.com/questions/4044855/how-to-kill-a-thread-in-delphi) –스레드를 종료하는 방법에 대한 아이디어가있는 것처럼 보입니다. 그래서 당신의 질문은 무엇입니까? 종결 된 깃발의 등록시에 호출 할 자신의 이벤트를 작성하는 방법? 귀하의 질문은 명확하지 않습니다. – Glenn1234
스레드가 정상적으로 종료했는지 강제되었는지 확인하려면 실행시 tthread.retvalue를 다른 방식으로 설정하십시오. onterminate 이벤트에서이 값을 읽을 수 있습니다. http://www.delphipages.com/forum/showthread.php?t=209703을 참조하십시오. –