Что нового

не закрывается окно из -за sleep

Loonka

Новичок
Сообщения
3
Репутация
0
Добрый день, нужна помощь, запарился уже.
Суть - мой скрипт должен опрашивать некий файл (реализовано в Cycle() и успешно справляется) раз в 15 секунд и выводить изменения в GUI. Но я столкнулся с проблемой, при ожидании тех самых 15 секунд для повторного выполнения Cycle(), окно GUI нельзя закрыть - только убить процесс, что не комильфо...
Код:
Func Cycle2()
IF $GUI_EVENT_CLOSE = 1 Then Exit 0 ElseIf $wite = 300 Then
   $wite = 0
   Cycle()
   ElseIf $wite > 300 Then
   Sleep(50)
   $wite + 1
   Cycle2()
EndIf
EndFunc


Пробовал и так:

Код:
While 1
        Switch GUIGetMsg()
            Case $wite <300
				Sleep(50)
				$wite +1
			Case $GUI_EVENT_CLOSE
                ExitLoop
			Case $wite = 300
				$wite = 0
				Cycle()
        EndSwitch
	 WEnd
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Код:
GUIRegisterMsg($WM_SYSCOMMAND, "WM_SYSCOMMAND")

регистрируем функцию после создания окна
сама функция
Код:
Func WM_SYSCOMMAND($hWnd, $Msg, $wParam, $lParam)
	Local $nID = BitAND($wParam, 0xFFFF)
	Switch $nID
		Case 0xF060
			Exit
	EndSwitch
	Return 'GUI_RUNDEFMSG'
EndFunc   ;==>WM_SYSCOMMAND
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
куда еще проще.
как можно узнать, что была нажата системная кнопка "Закрыть"?
только через опрос события
 
Верх