고수님들 쓰레드에 문제가 있어서 이렇게 자주...쓰레드만 가지고 질문을 올립니다..
간단히 코드를 말하면요....
TClientthread = class(TThread)
protected
procedure Execute; override;
end;
var
ClientThread : TClientThread;//선언부.....
//버튼클릭이벤트....
procedure TForm1.Button1Click(Sender: TObject);
begin
if assigned(ClientThread) then begin
if not ClientThread.terminated then begin
ClientThread.terminate;
ClientThread.waitfor;
end;
end;
ClientThread := TClientThread.Create(True);
ClientThread.FreeOnTerminate := True;
ClientThread.Resume;
end;
//쓰레드 실행루틴...
procedure TClientThread.Execute;
begin
while not terminated do begin
//실행연산을 수행한다....
end;
end;
//폼이 종료될때..
if Assigned(ClientThread) then begin
ClientThread.Terminate;
ClientThread.WaitFor;
end;
action := cafree;
이런 식으로 프로그램을 코딩했는데요..... 거의 다 잘되는데요.....
가끔가다가 프로그램이 화면도 그대로인 상태로 정지해버립니다.....왜그런지
며칠동안 아무리 머리를 싸매도 알수가 없군요...
부디..은총을......