0
Escを押すたびに、現在実行中のスクリプトをリロードする簡単な.ahk
ファイルがあります。何らかの理由でグローバル変数を#includeするのはなぜですか?
; reload-hotkey.ahk
Esc::Reload ; reload script with Esc
、このファイルをインポートすると、グローバル変数が正常に動作を停止する原因となります。私は私の#include
文を削除した場合、予想通り
; test-file.ahk
#Include %A_ScriptDir%\reload-hotkey.ahk ; This line causes the problem
globalString := "Hello"
^q::
localString := "World"
MsgBox '%globalString% %localString' ; Output: ' World'
Return
は、コードが動作します。
; test-file-2.ahk
globalString := "Hello"
^q::
localString := "World"
MsgBox '%globalString% %localString%' ; Output: 'Hello World'
Return
これは、含まれているファイルにホットキーが含まれている場合にのみ発生します。関数にメソッドや関数だけが含まれている場合、私のコードは期待通りに動作します。
参考までに、私はAutoHotkey Unicode 32ビット1.1.26.01を使用しています。
なぜ#include
ステートメントは、グローバル変数が正しく動作しないのですか?
[CoordMode](https://autohotkey.com/docs/commands/CoordMode.htm)や[SetKeyDelay](https://autohotkey.com/docs/commands/SetKeyDelay.htm)のようなステートメントを追加します。また、ホットキーやホットストリングの定義の後に配置する必要があります。 –