.NET与COM编程:从ActiveX控件到指针应用
1. 引言
在编程领域,开发者往往希望有一个全新的开始,但对于大多数公司而言,丢弃过去编写的代码重新开始并非可行之选。过去十年间,众多开发组织在开发和购买COM组件及ActiveX控件上投入了大量资源。微软致力于确保这些遗留组件能在.NET应用程序中使用,同时也让.NET组件能被COM轻松调用。本文将深入探讨.NET对导入ActiveX控件和COM组件、将.NET类暴露给基于COM的应用程序以及直接调用Win32 API的支持,还会介绍C#指针和直接访问内存的关键字。
2. 导入ActiveX控件
ActiveX控件是COM组件,通常会被放置在窗体中,可能有也可能没有用户界面。微软开发OCX标准后,ActiveX控件革命兴起,开发者可以用VB构建ActiveX控件并在C++中使用,反之亦然。数千个这样的控件被开发、销售和使用,它们小巧、易于使用,是二进制重用的有效范例。
2.1 创建ActiveX控件
为了演示在.NET应用程序中使用经典ActiveX控件的能力,我们将先开发一个简单的四则运算计算器作为ActiveX控件,然后在C#应用程序中调用它。
-步骤:
1. 打开VB 6,选择ActiveX控件作为新项目类型。由于该控件没有用户界面,将项目窗体尽可能缩小。
2. 右键单击UserControl1并选择“属性”,在属性窗口中将其重命名为Calculator。
3. 点击项目资源管理器中的“项目”,在属性窗口中将其重命名为CalcControl。立即保存项目,将文件和项目都命名为CalcCont