|
OLE из С++
|
|||
---|---|---|---|
#18+
Многие годы я готовил выходные документы через EXCEL и WORD. Данные - из БД. Что-то случилось с моим офисом и теперь я получаю: ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 13:38 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Переустановка офиса не помогает. Может, у кого-нибудь есть соображения на этот счет? Очень не хочется переустанавливать операционку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2020, 13:40 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
muk07, регистрация объектов автоматизации офиса не прошла скопировать с реестра рабочей машинки, где такой же офис стоит и добавить в свой ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 11:54 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
kealon(Ruslan) регистрация объектов автоматизации офиса не прошла скопировать с реестра рабочей машинки, где такой же офис стоит и добавить в свой Только программист* мог дать такой точный и бесполезный ответ ( C ) * в других версиях анекдота - математик ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 14:20 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Не уверен что копирование реестра здесь будет решением. Если какие-то компоненты не прорегистрировались во время инсталляции офиса - значит на то были причины и надо их смотреть. Иначе реестр будет фейком по отношению к реальному положению дел. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 14:24 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
кроме того, остается 50% вероятности, что дело не в офисе, а в прикладной программе почему 50% ? все просто: -Какая вероятность встретить динозавра на улице -1/2 Или встретишь или нет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 14:28 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Разве regsvr не для этого предназначен? Сорри если тупой вопрос, COM трогал лет 13 назад последний раз... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 18:46 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Разумеется. А что любой бинарник можно подложить под regsvr32 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 18:49 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
NekZ Разве regsvr не для этого предназначен? Сорри если тупой вопрос, COM трогал лет 13 назад последний раз... обычно COM-сервера в виде exe регистрируются если запустить их с параметром -register под админом но копии с реестра аналогичной конфигурации достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 20:26 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
kealon(Ruslan) но копии с реестра аналогичной конфигурации достаточно "Огласите весь список" ( C ) Можете написать все ветки реестра которые нужно копировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 21:49 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, довольно очевидно что Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 23:52 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Перед переустановкой Office не только удалял прежнюю версию, но и все упоминания его в каталогах и реестре. Не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 08:52 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Что касается исходного кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 08:59 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Виноват именно установщик, а я даже и не знаю кто это такой ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 09:02 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Кстати, на той же машине под XP всё работает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 09:03 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
muk07 Кстати, на той же машине под XP всё работает Ты сейчас запутаешь всех окончательно. У тебя есть "та" машина и "эта". Приведи их версии. В меню Пуск -> winver. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 10:34 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Leonid Kudryavtsev, довольно очевидно что Код: plaintext
no comment ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 15:04 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, давай может ты ванговать не будешь над чужими ответами, дождёмся ответа сабжера, и дальше по ситуации а то он даже ветку реестра посмотреть не может PS: и да, любой именной объект прописывается именно так, либо в манифесте если портабельное приложение ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 21:11 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
muk07 , На старых Windows OLE Automation мог переставать работать из-за русского имени компьютера. Проверьте какое имя у компьютера, рабочей группы и пользователя (должно быть видно в Control Panel - System ) Если по русски - попытайся поменять на короткое (макс 8 букв) имя только английскими буквами (без каких либо символов). Сталкивался с таким в 1999-2000 kealon(Ruslan), Зачем ванговать: 1) Насколько я помню, Excel.Application всего лишь синоним для полного названия класса, который по нормальному называется как Excel.Application.8 Excel.Application.10 Excel.Application.22 etc 2) OLE объекты вообще-то идентифицируются по CLSID, и информация по ним в регистре так же ищется по CLSID А ProgId это всего лишь еще один синоним/алиас для CLSID. Т.ч. указанная Вами ветка реестра, содержит всего лишь ссылку на соответствующий CLSID и внезапно (!) без регистрации CLSID полностью бессмысленна https://docs.microsoft.com/ru-ru/windows/win32/com/-progid--key 3) AFAIK Объекты VBA внезапно на Excel.Application не заканчиваются. Там их десятки, если не сотни. Достаточно в Help посмотреть. etc... Достаточно было хотя бы самому в ветку Excel.Application заглянуть Всего два параметра CLSID и CurVer - как-то "бедновато" ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 09:01 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 1) Насколько я помню, Excel.Application всего лишь синоним для полного названия класса, который по нормальному называется как Excel.Application.8 Excel.Application.10 Excel.Application.22 etc записей в реестре можно наплодить очень много Leonid Kudryavtsev 2) OLE объекты вообще-то идентифицируются по CLSID, и информация по ним в регистре так же ищется по CLSID А ProgId это всего лишь еще один синоним/алиас для CLSID. Т.ч. указанная Вами ветка реестра, содержит всего лишь ссылку на соответствующий CLSID и внезапно (!) без регистрации CLSID полностью бессмысленна https://docs.microsoft.com/ru-ru/windows/win32/com/-progid--key как мы видим автор ищет по ProgID, что бы предоставить доступ к прошлым версиям компонентов регистрируют такие имена (микрософт как видим добавляет номер версии). API заморачиваться и выяснять "а есть ли версии" не будет, а просто выдаст ошибку что запрашиваемый ProgID не найден Leonid Kudryavtsev 3) AFAIK Объекты VBA внезапно на Excel.Application не заканчиваются. Там их десятки, если не сотни. Достаточно в Help посмотреть. etc... Достаточно было хотя бы самому в ветку Excel.Application заглянуть Всего два параметра CLSID и CurVer - как-то "бедновато" Проверит ProgID, будем дальше CLSID проверять где-то у меня была в закладках ссылка на статью в MSDN о полном порядке загрузки используемом в GetActiveObject, но вот найти что-то не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 22:27 |
|
OLE из С++
|
|||
---|---|---|---|
#18+
понимаю, что топик старый, но просто если вдруг еще актуально :) полезная ссылка пункты 1) и 2) можно поменять местами. Чтобы проверить ДО начала манипуляций 1) регистрируем COM-сервер Код: plaintext 1.
2) затем стартуем DCOMCNFG в 32-битном режиме Код: plaintext 1.
и смотрим здесь Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 01:46 |
|
|
start [/forum/topic.php?fid=57&msg=39950813&tid=2017423]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 404ms |
0 / 0 |