Внешняя компонента C++, асинхронность
По теме из базы знаний
- Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)
- Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)
- GraphViz1С: внешняя компонента 1С Native API для построения графов
- Асинхронные вызовы свойств и методов Внешних компонент. Особенности 2-х способов асинхронной работы
- Внешняя компонента GraphQL клиент для 1С
Найденные решения
Многопоточные приложения на с++ писал?
Если коротко, то:
- При инициализации компоненты запоминаешь интерфейсы 1С, она их тебе отдает.
- Пишешь реализацию метода для 1С, который запускает отдельный поток, который общается с твоим ws-сервером - хоть поллингом, хоть коллбеками. После окончания вызова метода 1С идет дальше, а поток живет сам по себе.
- При обнаружении события этот поток дергает интерфейс 1С, в 1С срабатывает обработка внешнего события. Многопоточноасинхронно, как ты и хотел.
- Пишешь реализацию второго метода для 1С, который останавливает этот поток.
- Дергаешь из 1С первый и второй методы как тебе надо.
Можно, конечно, запустить этот вспомогательный поток сразу при загрузке компоненты, когда тебе интерфейсы отдали. Но при методах запуска и останова контроля из прикладной логики на 1С больше.
Если коротко, то:
- При инициализации компоненты запоминаешь интерфейсы 1С, она их тебе отдает.
- Пишешь реализацию метода для 1С, который запускает отдельный поток, который общается с твоим ws-сервером - хоть поллингом, хоть коллбеками. После окончания вызова метода 1С идет дальше, а поток живет сам по себе.
- При обнаружении события этот поток дергает интерфейс 1С, в 1С срабатывает обработка внешнего события. Многопоточноасинхронно, как ты и хотел.
- Пишешь реализацию второго метода для 1С, который останавливает этот поток.
- Дергаешь из 1С первый и второй методы как тебе надо.
Можно, конечно, запустить этот вспомогательный поток сразу при загрузке компоненты, когда тебе интерфейсы отдали. Но при методах запуска и останова контроля из прикладной логики на 1С больше.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Многопоточные приложения на с++ писал?
Если коротко, то:
- При инициализации компоненты запоминаешь интерфейсы 1С, она их тебе отдает.
- Пишешь реализацию метода для 1С, который запускает отдельный поток, который общается с твоим ws-сервером - хоть поллингом, хоть коллбеками. После окончания вызова метода 1С идет дальше, а поток живет сам по себе.
- При обнаружении события этот поток дергает интерфейс 1С, в 1С срабатывает обработка внешнего события. Многопоточноасинхронно, как ты и хотел.
- Пишешь реализацию второго метода для 1С, который останавливает этот поток.
- Дергаешь из 1С первый и второй методы как тебе надо.
Можно, конечно, запустить этот вспомогательный поток сразу при загрузке компоненты, когда тебе интерфейсы отдали. Но при методах запуска и останова контроля из прикладной логики на 1С больше.
Если коротко, то:
- При инициализации компоненты запоминаешь интерфейсы 1С, она их тебе отдает.
- Пишешь реализацию метода для 1С, который запускает отдельный поток, который общается с твоим ws-сервером - хоть поллингом, хоть коллбеками. После окончания вызова метода 1С идет дальше, а поток живет сам по себе.
- При обнаружении события этот поток дергает интерфейс 1С, в 1С срабатывает обработка внешнего события. Многопоточноасинхронно, как ты и хотел.
- Пишешь реализацию второго метода для 1С, который останавливает этот поток.
- Дергаешь из 1С первый и второй методы как тебе надо.
Можно, конечно, запустить этот вспомогательный поток сразу при загрузке компоненты, когда тебе интерфейсы отдали. Но при методах запуска и останова контроля из прикладной логики на 1С больше.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот