Как адаптировать 32-разрядное приложение VB6 для работы с 64-разрядным Office?

У меня есть приложение, разработанное в VB 6.0 и VBA, которое использует последнюю 32-разрядную версию Office. Но поскольку это приложение 32-разрядное, оно не работает в системах, где установлены 64-разрядные версии Office. Какую лучшую стратегию я должен принять, чтобы перенести это приложение на 64-битную версию. У нас есть мандат на использование VB.NET и минимальную (насколько это возможно) модификацию кода с VB/VBA на .NET 64 бит. Пожалуйста, предложите лучший вариант, который я могу использовать, чтобы я мог использовать все лучшие практики для этого переноса.


person Siva    schedule 01.12.2011    source источник
comment
Если у вас есть 32-битные двоичные файлы (EXE или DLL), то вы застряли. Если у вас есть весь исходный код, вам потребуется перенести его на VB.Net, чтобы скомпилировать как машинно-независимый двоичный файл .Net.   -  person Hand-E-Food    schedule 01.12.2011
comment
Также связано: stackoverflow.com/questions/3945799/   -  person Prof. Falken    schedule 01.12.2011


Ответы (2)


Ответ @Prof.Falken в порядке, и перенос на VB.NET может быть хорошей идеей сам по себе, но это не гарантирует, что вы легко получите 64-битную версию своего приложения. Если ваш порт .NET будет использовать 32-битные компоненты ActiveX, для которых у вас нет 64-битной замены, то это не поможет. Вот некоторые темы, перечисленные для рассмотрения:

http://office.microsoft.com/en-us/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx

На нашем рабочем месте системное администрирование решило не устанавливать 64-битный Office ни на одном из новых 64-битных компьютеров с Windows, поскольку здесь используется слишком много приложений (в том числе от сторонних поставщиков), которые в противном случае могут столкнуться с проблемами. И в настоящее время мы не видим для себя особых преимуществ от 64-битной версии Office.

Здесь я нашел еще одну ссылку, которая может быть вам интересна:

http://www.pcpro.co.uk/news/enterprise/356173/microsoft-warns-users-off-64-bit-office-2010

person Doc Brown    schedule 01.12.2011
comment
Спасибо всем комментариям. Это было очень полезно - person Siva; 01.12.2011

В зависимости от того, как выглядит код, один или оба из них могут быть хорошим способом:

а) Перенесите его на VB.NET или вообще на другой язык.

б) Сохраните его в VB6, но замените КАЖДОЕ место, где он общается с Office, вызовом-оболочкой. Этот вызов оболочки взаимодействует с приложением VB.NET, которое, в свою очередь, взаимодействует с Office.

Результатом метода b является то, что он позволяет сохранить всю бизнес-логику в старой программе VB6 нетронутой. Подходит это или нет, зависит от того, как выглядит программа, с каким опытом работают программисты и так далее. Старая программа VB6 и новая VB.NET могли общаться друг с другом, например, через COM или XML-RPC.

person Prof. Falken    schedule 01.12.2011
comment
Спасибо всем комментариям. Это было очень полезно. - person Siva; 01.12.2011