powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создать АктивИкс
8 сообщений из 8, страница 1 из 1
Создать АктивИкс
    #33711680
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Хожу в трех соснах (так понимаю):
Есть 1С (процессы). В каждом можно инициализировать внешнюю компоненту (dll примеры есть напишу). Мне нужно в этой ВК реализовать сервер (прием сообщений). Чтобы потом создал я страницу в веб-приложении, вложил туда АктивИкс-контейнер, и обратился через него к конкретному процессу 1С (открой типа документ, который юзер на странице увидел и захотел). А поскольку страница зависит от того процесса (1С) из которого она родилась (могу идентификатор создать при инициализации ВК и в Веб-приложение его передать), то и документ должен открыться именно в этом процессе, а не в первом подходящем.
Суть вопроса: Как реализовать эту коллекцию серверов и интерфейс доступа к ним
(самый простой типа функция
АЗагруженЛиСерверСообщений1СИлиЭту1СУжеЗакрыли(ИДсервера)
ЗаслатьТудаСообщение("Найди и открой в журнале док1")
)
Сервера располагаются в пространстве процессов 1С.
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33711686
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал, сижу и думаю, вероянто
котлеты отдельно - мухи отдельно.
Внешняя компонента к 1С - создает COM объекты, некоторого локального сервера ВсеЗапущенныеПроцессы1С.exe, который загружается системой (если никто его раньше не грузил и выгружается если ни одного 1СПроцесса в памяти не осталось). А АктивИкс я создаю в странице и обращаюсь через него к этому ВсеЗапущенныеПроцессы1С.exe на тему АНетЛиУТебяСозданногоОбъекта(Ид1СПроцесса) и в случае, если есть такой объект, запали в нем событие. Тогда этот сервер поджигает событие в объекте и ВК1СПроцесса реагирует на поджег её объекта и передает в 1С соообщение ОткройЧертовДокумент("такой-то"). Тут 1С его отпирает и все счастливы.
Прокатит?
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33712517
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эта ... подумалось, а может есть стандартная виндовая очередь сообщений? И локальный сервер писать не надо. Что скажите други?
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33714130
AndreiNz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первое, что приходит в голову при словах очередь сообщений - Microsoft Message Queue
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33714228
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдруг не из той оперы :) фактически это я и имел ввиду, но поскольку в голову приходит больше не умных мыслей, решил, что лучше спросить людей, которые лучше ей пользуются.
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33714449
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот обчитался platform SDK на тему Reading Messages Asynchronously
там почему-то делается loop периодом опроса очереди на тему нет ли сообщения для X, и написано, что асинхронное чтение нельзя реализовать в многопоточной среде.
Эта схема мне не нравится, не хочу loop, хочу отдельный поток застопить в синхренизаторе, чтобы как только Event так сразу реакция.
Значит не подходит мне MSMQ?
Или я все плохо про неё понял??
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33714855
AndreiNz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это несколько отличается от того, что я видел в MSDN. Если вы возьмете старый (до .NET) MSDN July 2000, то там приведены сразу 3 возможных варианта чтения из очереди ассинхронно. 1 и самый простой - это определить финкцию обратного вызова Callback Routine. 2. Использовать overlapped structure и 3. Воспользоваться ComplitionPort. Есть еще книжка COM/DCOM Unlished ISBN 0-672-31352-9 В которой этот предмнет описывается в разделе Advanced MSMQ Programming.
...
Рейтинг: 0 / 0
Создать АктивИкс
    #33715642
vugluscr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал про MSMQQueue, типа где там можно влепить callback.
Мысли появились такие: атрибутов, свойств для этого нет. Заточен он под работу в сети и домене. В этом случае, то, что я хотел (синхронизаторы), и callback использовать сложно (нецелесообразно, когда события бегают по сети в разных концах мира), тут как раз loop с просмотром и таймаутом - самое разумное.
Сама схема красиво вырисовывалась, каждый процесс 1С при помощи ВК организует свою очередь и параметры её передает в 1С, 1С передает их в веб приложение, веб приложение засовывает туда сообщение, и оно обрабатывается в ВК по callback.
Спасибо, буду пытаться думать дальше.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создать АктивИкс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]