A variável Autohotkey não se expande, é simples, mas desconcertante

0

Por favor, ajuda a verificar o meu script Autohotkey (1.1.13.01):

#!r:: Reload
Sleep 1000
MsgBox, 4,, The script could not be reloaded. Open it for editing?
IfMsgBox, Yes, Edit
return

global gg := 10

#!t:: MsgBox % "gg= " . gg

myMsgBox(text)
{
     MsgBox % "mynum:" . text
}


#!y:: myMsgBox(%gg%) # gg does not carry 10 into myMsgBox

Não importa Alt + Win + t ou Alt + Win + q não mostra expansão variável. Espero ver gg=10 em MsgBox, mas só vejo gg= .

    
por Jimm Chen 04.01.2015 / 14:08

2 respostas

2

As variáveis globais devem ser definidas na seção de execução automática:

global gg := 10

#!r:: Reload
Sleep 1000
MsgBox, 4,, The script could not be reloaded. Open it for editing?
IfMsgBox, Yes, Edit
return

#!t:: MsgBox % "gg=" . gg

#!y:: myMsgBox(gg)

myMsgBox(text){
MsgBox % "mynum:" . text
}
    
por 04.01.2015 / 15:01
2

Você também deve adicionar o comando Recarregar em uma nova linha, caso contrário as linhas abaixo dele não serão executadas.

#!r:: ; new line here 
Reload
Sleep 1000
; ... rest of your script

Para ter mais de um comando executado por uma tecla de atalho, coloque a primeira linha abaixo da definição da tecla de atalho e faça a última linha retornar. Consulte o link

    
por 10.01.2015 / 10:53

Tags