트레이아이콘을 이용하여 알림기능을 완성했습니다. 이 알림기능은 실시간으로 서버쪽으로 계속해서 쿼리를 날려서(단순히 for문만 이용해서 계속해서 loop 돌도록 해놓았습니다.) 이벤트가 발생했는지 여부를 따져주고 이벤트가 발생을 했으면 클라이언트에게 메세지를 뿌려주는 단순한 기능입니다.
그런데 이 단순한 기능이 cpu를 너무 잡아 먹고 있다는 겁니다. 그래서 다른 프로그램이던지 하물며 인터넷도 열리지 않습니다. 그리고 트레이아이콘의 메뉴도 보이지 않습니다. 그래서 일정한 시간에만 조회하도록 sleep기능을 주었는데 그런데도 똑 같더군요..-_-;;;
제가 질문드린 내용이 너무 어려웠나요?
제가 알고싶은것은 트레이아이콘을 이용하여 일정한 시간때에만(30분단위로) 동작하도록 보여주고 정지할때에는 cpu점유율을 낮춰서 다른 프로그램과 오른쪽마우스키를 눌렀을때 정상적으로 메뉴가 생성되도록 하고 싶은것입니다..
제발 고수님들의 고견을 들려주십시요..
제가 만들어 놓은 for문은
procedure TOrderChangeF.PCheck;
var i : integer;
begin
for i:= 1 to 1000000000 do
begin
with qrySelector do begin
close;
open;
if IsEmpty then begin
end else begin
Application.MessageBox(('메제지가 전송되었습니다.'),'알림',
MB_ICONINFORMATION+MB_OK);
end; //if
sleep(20000);
end; //with
end; //for
end;
제발 메뉴기능과 정해진 시간에만 동작할수 있는 방법을 가르쳐 주세요~
TTimer를 이용해 보시는 것이 좋을 것 같습니다.
TTimer의 Interval을 1800000(=30*60*1000)으로 주면
Timer이벤트가 30분마다 한 번씩 발생합니다.
그럼 즐프하세요