2011-12-01 194 views
3

我有一个在VB 6.0和VBA中使用最新的Office 32位版本开发的应用程序。但由于此应用程序是32位的,因此它不能在安装了64位Office版本的系统上运行。我必须采用将此应用程序移植到64位的最佳策略是什么。我们有权使用VB.NET,并且尽可能少地(从VB/VBA到.NET 64位)修改代码。请建议我可以使用的最佳选项,以便我可以利用此移植的所有最佳做法。如何使32位VB6应用程序适应64位Office?

+1

如果你有32位二进制文​​件(EXE或DLL),那么你就完蛋了。如果你有所有的源代码,你需要将它全部移植到VB.Net中,将它编译为一个独立于机器的.Net二进制文件。 –

+0

也有关:http://stackoverflow.com/questions/3945799/using-32bit-com-addin-under-ms-office-64-bit –

回答

3

根据代码是什么样子,一个或两个的这些可能是一个好办法:

一)它移植到VB.NET,或干脆另一种语言。 b)将它保存在VB6中,但用包装器调用替换它与Office交谈的每个地方。这个包装调用与VB.NET应用程序交谈,后者又与Office交谈。

方法b的结果是它可以保持旧VB6程序中的所有业务逻辑不变。这是否合适取决于程序的外观,程序员的经验等等。旧的VB6程序和新的VB.NET可以通过例如COM或XML-RPC相互交谈。

+0

感谢所有评论。这非常有帮助。 – Siva

4

@ 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

+0

啊,好的数据不仅仅是一般的想法。 +1 –

+0

感谢所有评论。这非常有帮助 – Siva

相关问题