Коллеги, приветствую!

Хочу поделиться одной из новых возможностей новой версии Terrasoft 3.4.1. В этой версии мы реализовали поддержку приложений MS Office x64. Теперь клиенты смогут полноценно использовать интеграцию с 64-битными версиями приложений MS Office: Word, Excel и самое главное - Outlook.

OfficeLogo

Проблема

Как известно, долгое мы не могли реализовать поддержку 64 битного MS Office, т.к. наша система была 32-битной и у нас не было технической возможности создать 64 битное приложение. Всем нашим клиентам мы отвечали работа с Outlook x64 не поддерживается, ждите следующих версий.

Решение

Для реализации данной возможности мы полностью перешли на новую среду разработки Delphi XE2, которая позволяет создавать 64-битные приложения и скомпилировали часть наших библиотек в 2х вариантах: 32-битном и 64-битном. Таким образом, теперь наша система сама понимает какие версии библиотек ей нужно использовать, в зависимости от конфигурации ПО клиента.

Примечательно то, что вся эта функциональность реализована в одной единой сборке, т.е. клиентам не нужно предоставлять версию под x64 или под x86. Клиент берет новую сборку и не задумываясь какой у него установлен MS Office, использует все преимущества нашей интеграции.

Эта функциональность полностью реализована в ядре системы, так что каждый существующий клиент сможет взять новую версию и использовать с любой конфигурацией.

Использование COM-объектов

Все COM-объекты Terrasoft 3.x теперь доступны как из 32-битных приложений так и из 64-битных. Т.е. ничего не мешает например из 1с x64 создавать и использовать наши COM-объекты в интеграционных целях. До этого любая подобная попытка заканчивалась ошибкой Класс не зарегистрирован.

Сам себя не похва... И в завершение

Данная функциональность реализована в версии 3.4.1.39+ и сейчас активно тестируется. Спасибо всем, кто участвовал в разработке и тестировании.

Нравится

Поделиться

7 комментариев

Очень круто, МОЛОДЦЫ!

Спасибо!

Молодцы :smile:

Наконец-то!!!! :wink:

Это прорыв! Саша, ОТЛИЧНО! Спасибо всем, кто участвовал/участвует в реализации и тестировании этого нововведения.

Показать все комментарии

Прежде всего, хочу заметить, что подобное сообщение абсолютно не информативно, и по нему редко можно определить истинную причину. Столкнулась с такой ситуацией:

1. Появляется только на одном компьютере;
2. Под всеми пользователями;
3. Для любого отчета Word/Excel;

Решить проблему можно только путем активации отладчика: необходимо выяснить, на какой строке программа вылетает. Если это это строка finally - значит, проблема где-то в блоке try, и его нужно последовательно пройти отладчиком, каждую строку проверяя watch'ем.

В моем случае проблемной строкой оказалась следующая:

Result = GetIsMSOfficeApplicationIstalledViaRegistry(MSOfficeApplicationName);

Это системная функция обращения к реестру. Остановка отладчика на этой строке говорит о том, что проблема в операционной системе, а именно - в службах работы реестра.

Чтобы устранить проблему, нужно перезапустить либо переустановить системные службы Windows. Это можно сделать через консоль (Пуск - Выполнить - cmd)

Перезапустить:

net stop winmgmt
cd /d %windir%\system32\wbem
for %i in (*.dll) do RegSvr32 -s %i
for %i in (*.exe) do %i /RegServer
net start winmgmt

Переустановить:

rundll32.exe setupapi,InstallHinfSection WBEM 132 %windir%\inf\wbemoc.inf

После переустановки системных служб реестра Windows проверка инсталляции офиса проходит корректно и отчет выгружается.

Отдельное спасибо Евгению Лобову за сотрудничество в решении проблемы.

Нравится

Поделиться

2 комментария

Еще как вариант, просто снести ветку в реестре, например того же самого Excel.
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options\DefSheets -> именно этот параметр
P.S. Мне например помогло!

Ценное наблюдение. Павел, благодарю.

Показать все комментарии