Непонятная 5 секунд блокировка ввода после обработки клика на уведомлении

tormozit Закрыто Средний

После выполнения кода
ТурбоКонф.ПоказатьВсплывающееУведомление(НазваниеСкрипта(), "Приложение ИР блокирует обновление базы. Кликни, чтобы закрыть приложение.", 4000, ЭтотОбъект, "ЗакрытьСлужебноеПриложение");
Пользователь кликает на уведомлении и выполняется команда ЗакрытьСлужебноеПриложение скрипта. Но еще 5 секунд Турбоконф почему то блокирует ввод в окне конфигуратора.

Ссылка скрыта
RDT.os

Комментарии

bolsun
#1, 01 декабря 2023 12:46

Команда ЗакрытьСлужебноеПриложение сколько по времени выполняется?


bolsun
#2, 01 декабря 2023 18:35

Я полагаю, что скрипт не завершается пока выполняется процесс закрытия. Рекомендую попробовать выполнить процесс закрытия в Фоновом задании.
bolsun изменил статус на На выяснении


tormozit
#3, 01 декабря 2023 23:58

Процесс закрытия выполняет точно асинхронно, т.к. я его по 10 раз в день запускаю и очень хорошо знаю это. Тем более в конце команды закрытия приложения выводится уведомление и оно видно сразу.


tormozit
#4, ред. 02 декабря 2023 23:50

Проблема повторяется стабильно. Если я напрямую вызываю ту же функцию ЗакрытьСлужебноеПриложение, то такой блокировки не происходит. Значит дело в реализации вызова обработчика клика на уведомлении в Турбоконфе.

p9rBETLVyO.mp4


bolsun
#5, 02 декабря 2023 23:49

(4) tormozit,
Ошибка при вызове обработчика. System.Exception: Метод не найден: ЗакрытьСлужебноеПриложение
в TurboConf.HostApplication.NotificationContext.<>c__DisplayClass2_0.<SetAction>b__0() в D:\Projects\TurboConf\TurboConf.HostApplication\NotificationContext.cs:строка 65


tormozit
#6, 02 декабря 2023 23:51

Похоже ты новый скрипт пытаешься использовать. В нем переименован этот метод в ЗакрытьПриложениеИР


bolsun
#7, 03 декабря 2023 00:11

(6) @tormozit, https://disk.yandex.ru/d/XKCz9ijzgtoO1w

Попробуй эту версию, в ней у меня не блокируется ввод. Проверить полностью работу не могу, т.к. ругается постоянно на версию ИР.


tormozit
#8, ред. 03 декабря 2023 00:13

Message: Невозможно вызвать Invoke или BeginInvoke для элемента управления до завершения создания дескриптора окна.
StackTrace: в System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
в System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args)
в TurboConf.Service.NotificationForm.‏‬‮‍‎​‫‭‏‌‪‬‌‌‮‪​‬‌‌‍‫‫‮()
в System.Windows.Forms.Control.OnMouseClick(MouseEventArgs e)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.Label.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Ссылка скрыта


bolsun
#9, 03 декабря 2023 00:15

(8) tormozit, как это воспроизвести?


tormozit
#10, 03 декабря 2023 00:15

Ровно так же


bolsun
#11, 03 декабря 2023 00:16

(10) tormozit, ровно также как?


tormozit
#12, 03 декабря 2023 00:19

Смотри видео в сообщении #4


tormozit
#13, 03 декабря 2023 00:21

Тут можно взять совместимое расширение ИР


bolsun
#14, 03 декабря 2023 15:33

В текущей TurboConf_RDT, не должно блокировать ввод.


tormozit
#15, 03 декабря 2023 17:11

Подтверждаю. Теперь блокировка не возникает.


tormozit
#16, 03 декабря 2023 17:11

tormozit изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера