Как я могу адаптировать 32-битное приложение VB6 для работы с 64-битным Office? - PullRequest
3 голосов
/ 01 декабря 2011

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

Ответы [ 2 ]

4 голосов
/ 01 декабря 2011

Ответ @ 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

3 голосов
/ 01 декабря 2011

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

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

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

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

...