Как правильно очистить стек форм в VB6 - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть приложение в VB6, для которого я реализую функциональность Autologout. Всякий раз, когда приложение находится в состоянии ожидания в течение некоторого времени, пользователь выходит из системы, закрывая все загруженные пользователем формы. Я использую FormStack и выгружаю все загруженные формы. Чтобы правильно закрыть формы, мы используем ESC SendKeys, и форма будет выгружена с помощью клавиши ESC.

В большинстве случаев работает нормально, но проблема в том, что если есть что-то вроде клавиатуры, то клавиша ESC выгружается, но как только выгружаются все формы, код рядом с клавиатурой получает выполняется с ссылкой на управление формами и загрузкой формы.

Я могу сделать проверку ссылок, но эта функция реализована во многих местах, и везде требуется время для проверки.

Я также думал подождать около 500 мс, чтобы закрыть каждую форму, но чувствовал, что не стоит полагаться на таймеры.

Может ли кто-нибудь предложить лучшую идею для плавной выгрузки всех форм.

1 Ответ

0 голосов
/ 21 февраля 2012

я раньше делал дим я как целое число

for i = forms.count -1 to 0 step -1
 unload forms(i)
next

также вы можете создать интерфейсный инструмент в виде

IDispose

 sub Close()



dim miclazz as IDispose

form each miclazz in forms
  miclazz.Close()
next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...