|  | Как можно обновлять строку состояния? | ☑ | 
    
        | 0
    
        Garry1010   18.12.13✎ 10:49 | 
        Давно уже висит один вопрос... Пробовал придумать через ФоновыеЗадания или через ОбработчикОжидания - что-то не вышло.
Суть такая: через COM-объект запускается выполнение серии достаточно длительных операций - при запуске каждой операции, конечно, в строку состояния выдаётся информация, но пока идёт обработка в COM-соединении переключение на программу выдаёт вид зависания (что естественно). Так вот хочется, чтобы что-то в фоне как-то обновляло строку состояния.
 Обработчик ожидания срабатывает только после того, как управление выходит из COM-соединения. А фоновые задания, как я понимаю, вообще не имеют доступа к окну запустившей их программы.
 Кто-то может что-то предложить для решения этого вопроса?
 |  | 
    
        | 1
    
        Defender aka LINN   18.12.13✎ 10:50 | 
        Смириться     |  | 
    
        | 2
    
        Garry1010   18.12.13✎ 11:16 | 
        (1) И всё? :((     |  | 
    
        | 3
    
        Рэйв   18.12.13✎ 11:21 | 
        Запускай обработчик СOM в цикле на стороне вывывающей базы и формируй строку локадльно     |  | 
    
        | 4
    
        Garry1010   18.12.13✎ 11:45 | 
        (3) Не понял. Какую строку - строку состояния? Всё равно не уловил суть...     |  | 
    
        | 5
    
        alexei366   18.12.13✎ 11:46 | 
        (0) Ну можно заморочиться конеш: создать регистр сведений с измерением уник идентификатор при вызове из формы серверной процедуры создать запись в нем  с новым идентификатором, вызвать фоновое передая ему наш уник инд и меняешь реквизить записи регистра (к примеру процент выполнения), а на клиенте запускаешь обработчик ожидания где постоянно обращаешься к серверу и вытаскиваешь статус по нашему уник ид и выводишь пользователю (можно сделать чтоб фоновое по завершению удаляла запись, а на клиенте при отсуствии записи выводить готово, или же с клиента если уже завершенно удалять запись)     |  | 
    
        | 6
    
        Garry1010   18.12.13✎ 12:17 | 
        (5) Не выйдет, я же проверил (см. выше) работу обработчика ожидания. Он срабатывает только когда клиента отпускает COM-соединение - пока оно работает ожидалка не вызывается. Как и описано в документации, кстати.     |  | 
    
        | 7
    
        alexei366   18.12.13✎ 15:09 | 
        (6) Так ты запусти из клиента фоновое задание, а уже в фоновом COM запускай. Если ты с клиента (или с вызванной серверной процедурой из клиента) COM запускаешь то естественно пока управление будет у запущенной процедуры     |  |