Q&A

  • 인터럽트....
제가 지금 만들고 있는 폼(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;



좋은 의견 부탁드릴께여... ^^;;;

0  COMMENTS