1 (изменено: Next, 2013-08-17 21:44:20)

Тема: AHK: Правильное завершение Gui, если их несколько

Не могу правильно закрыть Gui, если их больше одного?

Для примера:


Gui, 2:Add, Edit, vEdit2, 12345
gui, 2:add, Button, x50 w14 h12 gButton2
Gui, 2:show, w800
return



Button2:
Gui, 3:Add, Edit, vEdit3, 456
gui, 3:add, Button, x500 w24 h25
Gui, 3:show, w400
return



Guiclose:
ExitApp

1.  Если вызвать кликом на Button2 Gui3, а потом Gui3 закрыть кликом на крестик, повторный вызов Gui3 выдаёт ошибку связанную с vEdit3.
2.  Закрытие обоих Gui не приводит к завершению приложения.

  Пробовал экспериментировать с Destroy, Default и прочим, но безуспешно. Прошу помощи.

2

Re: AHK: Правильное завершение Gui, если их несколько

1. Это не вызов Gui3, а повторное его создание. Gui нужно создать один раз, а потом только прятать и показывать его командами Gui, Hide и Gui, Show.

2. GuiClose выполняется для Gui по умолчанию, а не для обоих. Метку для Gui2 назовите 2GuiClose, а для Gui3 — 3GuiClose. В метках можно, например, проверять какую-нибудь переменную. Первое закрываемое Gui её обнуляет, а второе, видя, что она уже равна 0, т.е. первое Gui уже закрыто, вызывает ExitApp.

3

Re: AHK: Правильное завершение Gui, если их несколько

Понял, когда окно Gui "закрывается" нажатием на крестик, оно просто переходит в невидимые, но не уничтожается, если это не указано специально. Если оно понадобится снова, его нужно просто показать и всё.
  Спасибо!

4

Re: AHK: Правильное завершение Gui, если их несколько

Next, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Правильное завершение Gui, если их несколько

Исправил.