Просмотр темы форума
Тема: Правильная работа oleobj
Есть необходимость проверить наличие или отсутствие некоего COM-объекта.
В хэлпе написано: «В случае успешного завершения возвращается 1, в противном случае возвращается 0.»
Делаю переменную Res, равную нулю по умолчанию.
Запускаю следующий код:
oleobj MSD1
macrox_setstr("Res", MSD1.createobj("{BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}", "").str())
Объект существует, а возвращается значение Res в следующем окне равное '0'.
Подскажите, что я делаю неправильно?
А попробуйте другие объекты.
Например вот так
oleobj MSD1 MSD2
uint res1 res2
res1 = MSD1.createobj("{00024500-0000-0000-C000-000000000046}", "")
res2 = MSD1.createobj("Word.Application", "")
print("res1=\(res1) res2=\(res2)")
Это будет вывод в консоль.
Так же может быть вариант, когда там нужно не создавать, а подключаться к запущенному объекту.
А что имеется ввиду под «подключаться к запущенному объекту»?
Проблема в том, что есть два существующих в системе Com-объекта, с одним из них всё работает корректно, а с другим, созданным таким же образом, расположенным в той же ветке реестра, работать отказывается.
И ещё вопрос: можно ли указать конкретную ветку реестра, с которой надо работать программе?
createobj создаёт новый объект, например запускается новый экземляр word, а можно подключиться к уже запущенному
через oleobj.getactiveobj( str name )
А вы нормально работайте с этим СОМ объектом из других программ?
Попробуйте создать установку которая не требует прав администратора и будет запущена под текущим пользователем. Нужно отметить 'Права администратора не требуются' в корневом элемента скрипта.
Спасибо за быстрые ответы. К сожалению, пришлось обходить этот вопрос другим путём. Но проблема оказалась в самом COM-объекте.
16.01.25 Выпущен инсталлятор CreateInstall 8.11.1.
19.06.24 Выпущен инсталлятор CreateInstall 8.11.0. подробнее
13.11.22 Выпущен инсталлятор CreateInstall 8.10.1.
21.05.22 Выпущен инсталлятор CreateInstall 8.10.0.
25.09.21 Выпущен инсталлятор CreateInstall 8.9.0.
15.07.21 Выпущен инсталлятор CreateInstall 8.8.1.