做完这个类后,使类的Instancing=private!

解决方案 »

  1.   

    Instancing 属性的值决定该类是私有的(即只在部件内使用),还是可供其它应用程序使用的。如 Instancing 这个名字所提示的,该属性也决定其它应用程序如何创建该类的实例。该属性的取值代表如下含义: Private 意味着其它应用程序不能访问关于该类的类型库信息,也不能创建它的实例。私有对象只能在部件内部使用。
    PublicNotCreatable 意味着只有在该部件首先创建对象后,其它应用程序才能使用该对象。其它应用程序不能用 CreateObject 函数或者 New 操作符来创建该类的对象。
    MultiUse 允许其它应用程序创建该类的对象。部件的一个实例可以提供任意数目的以这种方式创建的对象。 
    进程外部件可以给多个客户端程序提供多个对象;进程内部件则可以为其客户端程序和其进程中的任何其它部件提供多个对象。GlobalMultiUse 与 MultiUse 类似,只增加一点:可以把属性和方法视为简单的全局函数来调用。这种方式不必显式地创建该类的对象,它将自动被创建。
    SingleUse 允许其它应用程序从该类创建对象,但是客户端创建的该类的每一个对象都会启动部件的一个新的实例。不允许在 ActiveX DLL 工程中使用。
    GlobalSingleUse 与 SingleUse 类似,除了可以把该类的属性和方法视为简单的全局函数来调用之外。不允许在 ActiveX DLL 工程中使用。