我看到在一个类的属性窗口中有这样一个属性,不知道是作什么用的,是不是只有类里才有,还望指点

解决方案 »

  1.   

    Instancing 属性
          设置一个值,确定能否在工程之外创建公共类的实例。如果可以,如何实现。运行时无效。设置值Instancing 属性设置如下:设置 描述 
    1 (缺省)私有。不允许其它应用程序访问关于类的类型库信息,也不能创建该类的实例。私有对象只能在自己的部件中使用。 
    工程类型不同,实例属性缺省也不同。只有对于Standard Exe工程中的类模块,私有才是缺省的。当在 ActiveX Exe 工程或ActiveX DLL工程中插入一个新的类模块时,Instancing 属性的缺省值是 MultiUse。当在 ActiveX 控件工程中插入一个新的类模块时,Instancing 属性的缺省值是 PublicNotCreatable。
     
    2 PublicNotCreatable。只有在自己的部件首先创建了对象的前提下,其它应用程序才能应用此类的对象。不能用 CreateObject 函数或 New 操作符来创建类对象。 
    3 SingleUse。允许其它应用程序从这个类创建对象,但客户创建的该类的每个对象都启动部件的一个新的实例。在 ActiveX DLL 工程中是不允许的。 
    4 GlobalSingleUse。类似于 SingleUse ,除了此类的各种属性和方法可以象简单的全局函数那样被调用。在 ActiveX DLL 工程中是不允许的。 
    5 MultiUse。允许其它应用程序从这个类创建对象。部件的一个实例可提供按此方式创建的任意数目的对象。 
    6 GlobalMultiUse。类似于 MultiUse,只附加了一点:这个类的各种属性和方法可以象简单的全局函数那样被调用。该类的实例不需要显式创建,因为它会自动创建。 设置 应用的工程类型 
                        ActiveX Exe ActiveX DLL ActiveX Contol Std. Exe 
    Private             X                 X            X          X 
    PublicNotCreatable  X                 X            X   
    SingleUse           X       
    GlobalSingleUse     X       
    MultiUse            X                 X     
    GlobalMultiUse      X                 X