VB 程序设计

10个成员

VB COM基础讲座之编译的实例选项

发表于 2016-12-28 3960 次查看
   在测试文件组件之前,我们必须先编译它。但在进行这项工作之前,让我们先来浏览一下Visual Basic所给出来的一些额外选项。

   在打开FileCheck代码窗口的同时,我们来看看它的属性窗口。

   属性有Name、DataBindingBehaviour(用于将类和数据源相"绑定")、可持久性(用于控件中,允许保存某个类的属性)以及实例。

   当类名属性修改后,我们或许不必担心前三项的属性。那么什么是实例呢?

   实例(Instancing)属性决定自己的类对于使用ActiveX组件的应用程序来说是否可见。若可见,则在任何时候可运行不止一个的实例。

   实例属性有很多选项,我们来看一下:

   MultiUse —— 这可能是最常用的选项。它只提供给其他应用程序一个组件的实例,这个实例可以提供多个对象。这样就节约了内存空间并允许用户共享全局变量。

   Private —— 除该组件内的对象,类对于其他对象是不可见的。它通常用于类单独被类中的其他对象所访问。

   GlobalMultiUse —— 这个类的各种属性和方法可以象简单的全局函数那样被调用。另外,在VB中该类的实例不需要显式创建,因为它会自动创建。各种属性和方法都可从单独的一个组件实例中调用。

   PublicNotCreatable —— 它表示只有在创建实例的前提下,该类才是可见的。换句话说,用户不能用New关键词创建一个类对象。用户的类对象必须选被创建,然后才可使用。这有点像DAO的记录集,用户不能创建一个新的记录集,而只能用OpenRecordset方法简单地打开它。

   SingleUse —— 它表示每次在代码中开始的一个组件的新的实例,只能运行另一个ActiveX组件的实例。换句话说,每个实例都获得自己的"进程空间"。虽然还有一些限制,没有什么奇怪的,它和MultiUse是相对的。

   GlobalSingleUse —— 类似于GlobalMultiUse,除了代码中创建的对象运行一个组件的新实例。

上述选项,我们很少全部都使用过。毫无疑问,MultiUse是最常见的,其次是Private和GlobalMultiUse,其他的一般很少使用。当然,我们不禁要问,在创建ActiveX DLLs时,我们能得到多少这样的选项呢?答案是明确,因为它们的工作方式是相同的。

   好了,非常抱歉在前面过程中耽搁太多的时间,不过若不论及这些不常使用的实例选项,那么又有人会抱怨了。

   行啦,让我们编译并测试我们的ActiveX EXE组件吧!

   选择"File"->"Make File.exe";

   选择一个文件名,然后按[OK]。

   下一节,我们将创建一个测试应用程序。

 

发表回复
你还没有登录,请先登录注册