제가 지금 만들고 있는 폼(A)은...
서버에게서 메세지를 받아서... 그 데이타를 그리드형태로 보여주는 폼이거든여...
그 폼에 '설정' 이라는 버튼을 두고, 설정을 누르면... refresh폼이 생성되고,
그 refresh폼에서... 폼(A)에 뿌려질 데이타의 시간을 정합니다...
[Min 3초에서 max60초]를 두고... 시간을 정한후... 그 시간마다 서버에게서
메세지를 받아서... 폼(A)에 데이타를 보이게 하는 것이지여...
처음... 설정 버튼을 누르구... refresh조건을 3초로 하였습니다...
그런데... user가 그 시간을 바꾸고 싶어 합니다...
그래서 다시... 설정 버튼을 누르면... 루프를 돌고 있던 그 루틴에...
인터럽트가 걸려서... 에러가 납니다...
그래서... 설정 버튼을 눌렀을때...
루프가 돌고 있다면... 그 루프를 멈추게 하는... 그걸 하고 싶은데...
잘 안돼네여...
procedure TF_Msg_Info.BtnSetClick(Sender: TObject);
begin
start := False;
bb := False;
F_Refresh := TF_Refresh.Create(Application);
F_Refresh.fcall := 1;
F_Refresh.ShowModal;
while F_Refresh.check = true do // refresh를 자동으로 설정
begin
start := true;
if bb = true then // 폼(A)에서 닫기 버튼을 눌렀을때.
begin
Datamod.Csocket.Socket.SendText('CLOSE ');
DataMod.Csocket.Close;
F_Msg_Info.close;
break;
end
else if F_Refresh.check = False then // Refresh가 수동일때.
break;
Delay(F_Refresh.tt);
BtnRefreshClick(Nil); //조회버튼 수행
end;
F_Refresh.Free;
end;
좋은 의견 부탁드릴께여... ^^;;;