|   |   | 
| 
 | Внешнее событие компоненты на сервере | ☑ | ||
|---|---|---|---|---|
| 0
    
        АЛьФ 03.05.24✎ 11:38 | 
        Нужно из внешней компоненты дернуть сервер "восьмерки". Известно, что внешние события работают только на клиенте.
 Как быть? Нужен простой пример кода. | |||
| 1
    
        Garykom 03.05.24✎ 11:39 | 
        Периодическая проверка по таймауту
 Или публикация http-сервиса и дергание его из ВК | |||
| 2
    
        АгентБезопасной Нацио 03.05.24✎ 11:41 | 
        http тут (имхо) будет самым простым решением.     | |||
| 3
    
        Garykom 03.05.24✎ 11:43 | 
        С точки зрения серверных процессов любое длительное ожидание события от ВК - зло
 Если возможно надо переходить на сервисы Если невозможно (время реакции) то длительное фоновое с циклом, обязательно предусмотреть завершение и возобновление | |||
| 4
    
        АЛьФ 03.05.24✎ 11:43 | 
        2(1)(2) Я такие советы в поисковике встречал. Поэтому дописал: "нужен простой пример кода".     | |||
| 5
    
        АЛьФ 03.05.24✎ 11:45 | 
        2(3) Это скорее не длительно ожидание, а постоянная готовность принять событие, например, от датчика какого-то.     | |||
| 6
    
        H A D G E H O G s 03.05.24✎ 11:47 | 
        (0) Запускай компоненту на сервере, в ней реализуй метод Инициировать(ОбщийМодуль), сохраняй ОбщийМодуль в переменной типа OleVariant, в отдельном потоке дергай метод ОбщегоМодуля     | |||
| 7
    
        H A D G E H O G s 03.05.24✎ 11:48 | 
        Не забывай про CoInitialize     | |||
| 8
    
        АЛьФ 03.05.24✎ 11:49 | 
        2(6) О! Это мысль. Спасибо. А примера кода нет?     | |||
| 9
    
        H A D G E H O G s 03.05.24✎ 11:55 | 
        (8) Нет. Это просто мысль. Я не пробовал запускать процедуру ОМ в отдельном потоке.     | |||
| 10
    
        H A D G E H O G s 03.05.24✎ 11:55 | 
        Или пробовал, но это было так давно, что я забыл.     | |||
| 11
    
        Garykom 03.05.24✎ 11:58 | 
        (5) >постоянная готовность принять событие
 это цикл простой и банальный цикл проверки "событие есть?" | |||
| 12
    
        АЛьФ 03.05.24✎ 12:04 | 
        2(11) Да, цикл в момент простоя. Может я неверно выразился. Мне нужно, чтобы этот цикл был в компоненте. а 1С обрабатывала уже готовое событие. В принципе, направление в (6) мне нравится, буду копать в эту сторону.
 2(9) Жаль. Буду копать сам. | |||
| 13
    
        H A D G E H O G s 03.05.24✎ 12:10 | 
        Если не прокатит с ОМ - тогда можно попробовать с
 ДобавитьОбработчик() на стороне 1С и реализацию интерфейса IConnectionPointContainer на стороне компоненты https://www.rsdn.org/article/mfc/connpts.xml Опять таки, я это пробовал давно, это работало, но я уже ничего не помню по ньюансам. | |||
| 14
    
        Garykom 03.05.24✎ 12:13 | 
        (12) >нужно, чтобы этот цикл был в компоненте. а 1С обрабатывала уже готовое событие
 штатно такого кроме http или веб-сервисов нет ВнешнееСобытие от ВК &НаСервере исключая разные хаки | |||
| 15
    
        Garykom 03.05.24✎ 12:15 | 
        (13) это костыль-хак
 примерно как клиента 1С запустить на сервере (упрощенного без лишних обработчиков и форм/интерфейса) и в нем ВК и ловить внешнее событие, дергая уже из клиента сервер 1С | |||
| 16
    
        H A D G E H O G s 03.05.24✎ 12:16 | 
        (15) Егор, не забывайте, что мы с вами не общаемся и вы пишите в пустоту.     | |||
| 17
    
        Garykom 03.05.24✎ 12:19 | 
        (16) Пустоту, в которую некто отвечает? :)     | |||
| 18
    
        Garykom 03.05.24✎ 13:11 | 
        С точки зрения решения задачи ТС, было бы идеально (ну почти) из ВК (или что там внешнее) напрямую дергать wsap24.dll (wsap22.dll или wsisapi.dll или аналог для linux)
 Без веб-сервера А уже она дергает сервер 1С | |||
| 19
    
        АгентБезопасной Нацио 03.05.24✎ 12:28 | 
        (4) так для http и не будет никакого кода дополнительного. вообще. Будет сразу вызов процедуры, которую ты напишешь...     
 | |||
| 20
    
        АгентБезопасной Нацио 03.05.24✎ 12:30 | 
        (18) да, про необходимость веб-сервера я забыл :-(
 (0) еще нужен веб-сервер, апач или ИИС. | |||
| 21
    
        int32i 03.05.24✎ 14:04 | 
        (0) Законно это невозможно никак.
 Сервер слушает только то, что ему разрешено слушать - Клиентов и Веб. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |