|
COMОбъект - как соединиться с помощью предыдущей версией платформы
| ☑ |
0
Anonimka
28.11.11
✎
13:24
|
Ситуация сложилась такая. Большинство баз на моем компьютере работают на платформе 8.2.13.219. Но вот появился клиент, работающий на 8.2.14.540.
Как только установила 14 платформу, перестала работать обработка, содержащая строку БазаКом = Новый COMObject("V82.COMConnector") - при попытке подключения выдается предложение конвертировать базу.
Можно ли как-то обойти это?
|
|
1
palpetrovich
28.11.11
✎
13:33
|
что-то было по этой теме, кажется даже здесь. сам - не знаю, не помню :(
зы: типа ап
|
|
2
Fish
28.11.11
✎
13:38
|
Перевести все базы на 14 релиз не предлагать?
|
|
3
бомболюк
28.11.11
✎
13:41
|
придется в реестре перерегистрировать на время файл от старой 1С-ки.
|
|
4
DmitrO
28.11.11
✎
13:42
|
Чтобы обойти надо зарегистрировать progid V82.COMConnector на библиотеку от 13го релиза:
resvr32.exe "C:\Program Files\1cv82\8.2.13.219\bin\comcntr.dll"
|
|
5
DmitrO
28.11.11
✎
13:42
|
поправка:
regsvr32.exe "C:\Program Files\1cv82\8.2.13.219\bin\comcntr.dll"
|
|
6
Anonimka
28.11.11
✎
14:00
|
Перевести - нельзя, большинство клиентов не хотят переходить на 14.
Перерегистрировала библиотеку, все получилось.
Спасибо большущее!
|
|
7
palpetrovich
28.11.11
✎
14:00
|
может в базу знаний?
|
|
8
DmitrO
28.11.11
✎
15:34
|
Это не все так-то, если в базу знаний, то:
Надо отметить, что есть определенные проблемы с этим финтом, когда используется клиент-серверная база.
Проблемы состоят в том, что если база клиент-серверная то подключаться к ней можно только с помощью comcntr.dll совпадающей с версией сервера.
А comcntr.dll в свою очередь может загрузиться в адресное пространство 1С только той же версии что и она сама.
Поэтому, если мы имеем два сервера 1С разных версий, то не смотря на возможность перерегистрации dll, COM-соединение между базами расположенными на разных серверах мы установить не сможем.
Следует отдельно отметить, что проблему можно решить зарегистрировав эту dll как COM+ приложение, при этом она будет выполнятся в другом, отдельном, процессе и конфликта не будет, но зато будут накладные расходы на маршалинг (межпроцессное взаимодействие, будет медленнее работать в общем).
|
|
9
Anonimka
28.11.11
✎
18:00
|
DmitrO, спасибо, эта обработка у меня только на базе в файловом варианте, так что меня спасли :)
Возможно, понадобится и на клиент-серверном в будущем, так что сохраню ссылку.
Еще раз СПАСИБО!
|
|