使用 VS.NET 构建 OCX?
OCX 发生了什么? 他们不再可能使用最新的工具进行创作吗?
我需要创建一个可以放置在 Word、PowerPoint 和 Excel 文档中的 ActiveX 控件。 如果我使用 VS.NET,我只能使用 COM Interop 创建 UserControl DLL,但我认为我无法使用 PowerPoint 的“开发人员”选项卡的“更多控件”工具箱添加它。
你会怎么办?
What happened to OCX's? Are they no longer possible to create with the latest tools?
I need to create an ActiveX control that I can place in Word, PowerPoint and Excel documents. If I use VS.NET, I can only create a UserControl DLL with COM Interop, but I don't think I can add that using the "More Controls" toolbox of PowerPoint's Developer Tab.
What would you do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,您仍然可以创建它们。 但您无法使用 .NET 语言创建 OCX。 需要是非托管 C++(或 VB)。 您可以在 C# 或 VB.NET 中创建的具有 COM 互操作性的 DLL 只是通过 CCW 调用的 .NET 对象。
Yes, you can still create them. But you can't create an OCX with a .NET language. Need to be unmanaged C++ (or VB). The DLLs with COM interop you can create in C# or VB.NET are just .NET objects that are invoked via CCW.
您仍然可以使用.NET 创建ActiveX 组件。 但是,这是实验性的,不建议这样做。 如果你还想尝试一下,可以在 Andrew Whitechapel 的博客中找到信息:
但正如 Andrew 所说:
因此,如果您不想花费大量时间调试奇怪的错误,我建议您使用旧的 VB 6.0 和 Visual Studio 6.0 来构建 ActiveX 组件。
You can still use .NET to create ActiveX components. However, this is experimental and not recommended. If you still want to try it you can find information in the blog of Andrew Whitechapel:
But as Andrew says:
So if you don't want to spend a lot of time debugging strange errors I would recommend you to use the old VB 6.0 and Visual Studio 6.0 to build you ActiveX components.
使用可以针对本机代码 + ActiveX 的 C++ 或 VB 编译器。
Use a C++ or VB compiler which can target native code + ActiveX.
根据您需要执行的操作,外接程序可能比 OCX 更合适,并且您当然可以使用 .NET 创建它们。 您还应该查看 Visual Studio Tools for Office,不要将其视为 OCX 的直接替代品,而只是为了了解新功能。 它可能会向您展示解决您现在使用 OCX 解决问题的新方法。
Depending on what you need to do, an Add-in may be more appropriate than an OCX, and you can certainly create those with .NET. You should also look at the Visual Studio Tools for Office, not as a direct replacement for an OCX, but only to understand the new capabilities. It may show you new approaches to the problems you're now solving with an OCX.