Внешняя программа использует одно подключение COM коннектора 1C в многопоточном режиме. В каждом потоке вызывается функция модуля внешнего соединения. Если время выполнения этой функции мало, то выполнение в каждом потоке завершается корректно. Если внешняя функция работает продолжительное время ( примерно 5 сек ) , то уже на третьем потоке возникает ошибка.
Unhandled exception at 0x31ABE49E (backend.dll) in Sp1CGate.exe: 0xC0000005: Access violation reading location 0x0000000A. (Sp1CGate.exe - программа, которая создает несколько потоков)
Обычно, если кто-то создает что-то потокобезопасное, то в документации так и пишет (ибо это как правило требует применения в коде спец. средств, которые кстати будут несколько замедлять работу если использование будет только из одного потока), а если ничего не написано то обычно подразумевается работа только из одного потока.
Я не помню что про объект внешнего соединения где-то было указание что он потокобезопасный.
(3)да, в реестре записано both, но это ведь про объект который ты создаешь по прогид "V83.ComConnector", а вовсе не про объект который тебе вернул метод Connect.
сам менеждер соединений (V83.ComConnector) может и потокобезопасный..
че там, три метода, да 7 свойств, для организации пулов его имеет смысл сделать таким..
а вот сам объект внешнего соединения - вряд ли
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.