实例(Instancing)属性决定自己的类对于使用ActiveX组件的应用程序来说是否可见。若可见,则在任何时候可运行不止一个的实例。 实例属性有很多选项,我们来看一下: MultiUse —— 这可能是最常用的选项。它只提供给其他应用程序一个组件的实例,这个实例可以提供多个对象。这样就节约了内存空间并允许用户共享全局变量。 Private —— 除该组件内的对象,类对于其他对象是不可见的。它通常用于类单独被类中的其他对象所访问。 GlobalMultiUse —— 这个类的各种属性和方法可以象简单的全局函数那样被调用。另外,在VB中该类的实例不需要显式创建,因为它会自动创建。各种属性和方法都可从单独的一个组件实例中调用。 PublicNotCreatable —— 它表示只有在创建实例的前提下,该类才是可见的。换句话说,用户不能用New关键词创建一个类对象。用户的类对象必须选被创建,然后才可使用。这有点像 DAO的记录集,用户不能创建一个新的记录集,而只能用OpenRecordset方法简单地打开它。 SingleUse —— 它表示每次在代码中开始的一个组件的新的实例,只能运行另一个ActiveX组件的实例。换句话说,每个实例都获得自己的"进程空间"。虽然还有一些限制,没有什么奇怪的,它和MultiUse是相对的。 GlobalSingleUse —— 类似于GlobalMultiUse,除了代码中创建的对象运行一个组件的新实例。上述选项,我们很少全部都使用过。毫无疑问,MultiUse是最常见的,其次是Private和GlobalMultiUse,其他的一般很少使用。当然,我们不禁要问,在创建ActiveX DLLs时,我们能得到多少这样的选项呢?答案是明确,因为它们的工作方式是相同的。
posted on 2012-02-12 16:48
张志松 阅读(1054)
评论(0) 编辑 收藏 引用 所属分类:
VB/VBS