OCX发生了什么事?他们不能再用最新的工具创造吗?用VS.NET构建OCX?
我需要创建一个可以放在Word,PowerPoint和Excel文档中的ActiveX控件。如果我使用VS.NET,我只能使用COM Interop创建一个UserControl DLL,但我不认为我可以使用PowerPoint的“开发人员”选项卡的“更多控件”工具箱添加它。
你会做什么?
OCX发生了什么事?他们不能再用最新的工具创造吗?用VS.NET构建OCX?
我需要创建一个可以放在Word,PowerPoint和Excel文档中的ActiveX控件。如果我使用VS.NET,我只能使用COM Interop创建一个UserControl DLL,但我不认为我可以使用PowerPoint的“开发人员”选项卡的“更多控件”工具箱添加它。
你会做什么?
是的,你仍然可以创建它们。但是你不能用.NET语言创建一个OCX。需要非托管的C++(或VB)。可以在C#或VB.NET中创建的具有COM互操作的DLL只是通过CCW调用的.NET对象。
使用可以定位本机代码+ ActiveX的C++或VB编译器。
您仍然可以使用.NET创建ActiveX组件。但是,这是实验性的,不推荐。如果你仍然想尝试它,你可以在安德鲁白教堂的博客找到信息:
但正如安德鲁说:
这似乎为Excel工作确定(与 我做了非常有限的测试), 部分与PowerPoint的作品,但 与Word失败失败。
所以,如果你不想花大量的时间调试奇怪的错误,我会建议你使用旧的VB 6.0和Visual Studio 6.0来构建你的ActiveX组件。
根据你需要做什么,加载项可能比OCX更合适,你可以使用.NET创建这些加载项。您还应该查看Visual Studio Tools for Office,而不是直接替换OCX,但只能了解新功能。它可能会向您展示解决您现在使用OCX解决问题的新方法。
他们是否在出路(OCXs)? – Jason 2008-12-12 19:23:27
我想说这很可能。随着向.NET的转移,COM实际上已成为任何形式的传统技术。目前几乎没有理由使用OCX。 CCW调用的.NET程序集现在几乎总是一个更好的解决方案。 – TheSmurf 2008-12-12 19:32:48