델파이 기본 TTimer의 메모리누수 등의 문제로 델파이 7버젼에서 ThreadTimer를 사용해서 작업중인게 있습니다.
여러면에서 코딩시 좋은점도 있지만, TTimer에 비해서 해결이안되는 부분이 있어서 질문을 올립니다.
이런 식의 코딩으로 말입니다.
<!--CodeS-->
procedure TForm1.Button1Click(Sender:TObject);
begin
if Timer1.enabled=true then
begin
Timer1.Enabled:=False;
TButton(sender).Caption:='start';
end else
begin
Timer1.Enabled:=True;
TButton(sender).Caption:='stop';
end;
end;
<!--CodeE-->
타이머에서 대량레코드의 건을 처리할때 Enabled를 False하면 중단되므로 Start<>Stop을 간편히 코딩할 수 있습니다만, ThreadTimer는 Enabled를 제대로 감지 및 종료가 안되어 이런 처리가 제대로 안되네요.
혹시, 이런 버그의 해결방법을 아시는 분 답변 주시면 감사하겠습니다.
ThreadTimer에 Enabled필드를 만들고 기능을 중지/시작하는 코딩을 추가하세요. 그러면 TTimer와 똑같이 쓸 수 있겠죠.