korvindeson
Новичок
- Сообщения
- 19
- Репутация
- 0
Добрый день, есть беда. Сделал программу, в ней есть бесконечные циклы с условием выхода из них на подобии
Получается выход из цикла либо когда пикслель нужного цвета, либо когда $cont = 1. Таких циклов у меня прилично. И сами они в цикле. Беда в том, что на определённом моменте всё виснет, программа не входит в функцию _Deactivate($s)
А теперь самое интересное. Я проверил КАЖДЫЙ цикл в тех условиях, когда всё фризится и каждый выдал нужный результат, вместо остановки работы. Каким образом можно сделать отлов места в когде, который меня подводит?
Код:
$r=0
While 1=1
$r=$r+1
if $r>=100 Then
$cont = _Deactivate($s)
$r=0
EndIf
if $cont = 1 Then ExitLoop
if PixelGetColor (103, 105, $hWin) = 0x606060 Or PixelGetColor (100, 100, $hWin) = 0x606060 Then
Sleep(10+$pause)
ContinueLoop
EndIf
if PixelGetColor (103, 105, $hWin) = 0x9D6AC6 Or PixelGetColor (100, 100, $hWin) = 0x9D6AC6 Then ExitLoop
ControlClick($number, "" ,"[CLASS:Qt5QWindowIcon; INSTANCE:20]", "left",1,102,40)
Sleep(5+$pause)
WEnd
Получается выход из цикла либо когда пикслель нужного цвета, либо когда $cont = 1. Таких циклов у меня прилично. И сами они в цикле. Беда в том, что на определённом моменте всё виснет, программа не входит в функцию _Deactivate($s)
А теперь самое интересное. Я проверил КАЖДЫЙ цикл в тех условиях, когда всё фризится и каждый выдал нужный результат, вместо остановки работы. Каким образом можно сделать отлов места в когде, который меня подводит?