VB6: Выполнение кода во время работы MsgBox. Как победить?
Формулировка задачи:
При работе под IDE при появлении MsgBox выполнение кода полностью останавливается, эвенты собираются в очередь.
При работе в скомпилированном проекте код может выполняться при открытом MsgBox и тогда, если этот код затронет отображение на экране, проект вываливается с различными ошибками типа
"Can't show non-modal form when modal form is displayed"
Как бы так либо заставить код не выполняться, либо сделать MsgBox немодальным (как вариант, можно сделать собственный немодальный MsgBox, с блэкджеком и шлюхами, но как тогда останавливать выполнение хотя бы того кода, который его вызвал)?
При работе в скомпилированном проекте код может выполняться при открытом MsgBox и тогда, если этот код затронет отображение на экране, проект вываливается с различными ошибками типа
"Can't show non-modal form when modal form is displayed"
Как бы так либо заставить код не выполняться, либо сделать MsgBox немодальным (как вариант, можно сделать собственный немодальный MsgBox, с блэкджеком и шлюхами, но как тогда останавливать выполнение хотя бы того кода, который его вызвал)?
Решение задачи: «VB6: Выполнение кода во время работы MsgBox. Как победить?»
textual
Листинг программы
MyMsgbox.Show frmMyMsgbox: <font color="blue">Public</font> <font color="blue">Sub</font> Show() <font color="blue">Me</font>.Show <font color="00AA00">'можно еще ShowWindow с параметром HWND_TOPMOST, чтобы за другими формами не прятался</font> <font color="blue">While</font> <font color="blue">Me</font>.Visible DoEvents <font color="blue">Wend</font> Unload <font color="blue">Me</font> <font color="blue">End</font> <font color="blue">Sub</font> <font color="blue">Private</font> <font color="blue">Sub</font> Command1_Click() <font color="blue">Me</font>.Hide <font color="blue">End</font> <font color="blue">Sub</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д