Повторное использование ввода GUI в AutoHotKey - PullRequest
0 голосов
/ 04 марта 2019
/**********************************
GUI
*/

Gui, Add, Edit, x12 y7 w163 h19 vLoopCount, Loopcount
Gui, Add, Edit, x12 y26 w163 h19 vCheckCount, ErrorCheck
Gui, Add, Button, x12 y55 w76 h19 gStart, Start
Gui, Show, w194 h80, Test
return


Start:
gui, submit, nohide
count := LoopCount
check_count_basic := CheckCount
gui, hide

check_count := check_count_basic

VarSetCapacity(vLoopCount,0)
VarSetCapacity(vCheckCount,0)


/**********************************
GUI
*/

Это небольшая часть сценария My ahk.

Видите, у меня нет метода ExitApp в Script.потому что я хочу использовать скрипт без «Перезапустить скрипт».

, но, если я попробую второй запуск моего скрипта.

enter image description here

«Одна и та же переменная не может использоваться более чем для одного элемента управления»

Я уже знаю, что переменная Ака не может использоваться повторно.Поэтому я пытаюсь использовать «VarSetCapacity (vLoopCount, 0)».но не работа, что я думаю.

Как я могу сделать?Это действительно один способ «использовать метод ExitApp»?

1 Ответ

0 голосов
/ 04 марта 2019

Если вы хотите повторно использовать один и тот же графический интерфейс в вашем коде, он нужен вам только один раз.Используйте команду GuiControl для обновления определенных элементов управления.Например, если вам нужно очистить переменную «LoopCount» для другого набора кода, вы можете сделать что-то вроде этого:

LoopCount := 0
GuiControl ,, LoopCount , %LoopCount%
Gui , Show

Функция VarSetCapacity используется для установки объема памятипеременная может использовать.В вашем случае, даже если вы очищаете его, оно все еще существует как имя и не может использоваться для более чем одного элемента управления, так как AHK использует это имя как один из способов его идентификации.

Из вашего кода,похоже, вы уже понимаете, как использовать Gui , Hide и Gui , Show.Я думаю, что это действительно все, что вам нужно, чтобы выполнить то, что вы просите.

...