|
После "1cv8.exe /RegServer -CurrentUser" создание V83.Application не видит изменений |
☑ |
0
TormozIT
29.07.23
✎
10:42
|
Хочу динамически регистрировать нужную версию платформы 1С для COM класса V83.Application из своего приложения.
Для этого я выполняю команду ОС "1cv8.exe /RegServer -CurrentUser" и сразу же создаю новый COM объект класса V83.Application. Но он создается от старой версии платформы, которая была до свежей регистрации.
Такая регистрация выполняется в ветку реестра HKEY_CURRENT_USER\Software\Classes.
Если я перезапускаю свое приложение, то оно уже видит изменения в COM классе V83.Application и потому объект создается уже правильной версии платформы, т.е. той которая была регистрирована на предыдущем шаге.
Можно ли как то провести эту регистрацию, чтобы она сразу стала видна в приложении без его перезапуска?
|
|
1
TormozIT
29.07.23
✎
11:40
|
Мое приложение 64-разрядное, а платформа 32-разрядная.
|
|
2
Смотрящий
29.07.23
✎
12:03
|
|
|
3
TormozIT
29.07.23
✎
12:30
|
Вот тут описано как сливаются вместе ветки HKLM и HKCU для создания единого списка классов.
Провел тест из клиентского приложения 1С 32-разрядного
ЗапуститьПриложение("""" + ИмяИсполняемогоФайла + """ /RegServer -CurrentUser",, Истина);
ИР = Новый COMОбъект("V83.Application");
УспехПодключения = ИР.Connect(СтрокаСоединенияИнформационнойБазы() + "Usr=""1"";Pwd="""";");
В таком случае объект создается сразу из новой версии платформы.
|
|
4
TormozIT
29.07.23
✎
12:30
|
|
|
5
TormozIT
29.07.23
✎
15:38
|
|
|