Problema Threads ou quebrando while

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Problema Threads ou quebrando while

Re: Problema Threads ou quebrando while

by Encrypton » 18 Feb 2024, 06:47

bom dia

Code: Select all

#Persistent
#SingleInstance Force
#Include, <FindText>
#MaxThreads 50
#MaxThreadsPerHotkey, 50
#InstallMouseHook
SetWorkingDir %A_ScriptDir%

check_icons := true  ; variável de controle para verificar os ícones

SetTimer, check_aplication, 2000

While 1
{
    if (check_icons) {
        Text:="|<>**50$22.0ww06Kk0Fl01U43y0TrkkyMDkN1nVb66CAk9ln1b666CERkNUy1bk1yDU7k6AM0NtU1zy03rk8"
        While (icon1:=FindText(X, Y, 911-150000, 1060-150000, 911+150000, 1060+150000, 0, 0, Text))
        {
            ; tenho varios itens de configuração do servidor aqui
        }
        
        
        Text:="|<>**50$19.TzzM00w00H00ss0tC0ntlnyRrxnbSQ6D3y7UQ3k01jzzc"
        While (icon2:=FindText(X, Y, 204, 156, 1157, 662, 0, 0, Text))
        {
            ;funções de envio de mensagens ao usuário
        }
    }
}

return

check_aplication:
{
    check_icons := false  ; desativa a verificação dos ícones temporariamente
    
    ; aqui faço um teste na aplicação de tempos em tempos para ver se está em conexão de base
    
    check_icons := true  ; reativa a verificação dos ícones
}

return

Problema Threads ou quebrando while

by gilberto_san » 04 Aug 2023, 08:13

Caros amigos, estou tendo um problema talvez esteja deixando algo passar conceitualmente.

Tenho um script que verifica 2 icones na tela usando a biblioteca FindText . E tenho um procedimento que faz uma checagem a a cada x segundos através do SetTimer.
Se a checagem for verdadeira ele realiza uma acao e volta a verificar os 2 icones. Como os dos icones precisam ser clicados em sequencias fiz o seguinte coloquei um while icone1 ou seja em enquanto o icone 1 estive na tela faça determinada ação. O problema é que se a checagem do settimer se ativar ele quebra esse loop.
e vai pro icone 2. Acho que isso é um problema de Trhead ne?
tentei até ajustar o #MaxThreads mas sem sucesso

Code: Select all

#Persistent
#SingleInstance Force
#Include, <FindText>
#MaxThreads 50
#MaxThreadsPerHotkey, 50
#InstallMouseHook
SetWorkingDir %A_ScriptDir%

SetTimer, check_aplication, 2000

While 1
{
	Text:="|<>**50$22.0ww06Kk0Fl01U43y0TrkkyMDkN1nVb66CAk9ln1b666CERkNUy1bk1yDU7k6AM0NtU1zy03rk8"
	While (icon1:=FindText(X, Y, 911-150000, 1060-150000, 911+150000, 1060+150000, 0, 0, Text))
	{
	  ; tenho varios itens de configuração do servidor aqui
	}
	
	
	Text:="|<>**50$19.TzzM00w00H00ss0tC0ntlnyRrxnbSQ6D3y7UQ3k01jzzc"
	While (icon2:=FindText(X, Y, 204, 156, 1157, 662, 0, 0, Text))
	{
  		;funções de envio de mensagens ao usuário
	}
}
return

check_aplication:
{
; aqui faço um teste na aplicação de tempos em tempos para ver se está em conexão de base
}
return

Top