新工程-ActiveX DLL
在类模块中写上
Event xxxxxPublic Sub xxxxx
Public Function xxxxxx as yyyyy
Public Property Get xxxx as yyyy
pubilc property Let xxxx(New_xxxx as yyyy)
pubilc property set xxxx(New_xxxx as yyyy)之类的语句,并合理设置类的Instancing属性,就能基本入门。
参考“类模块向导”,很有帮助!使用编译好的ActiveX DLL时,从你的工程(Exe工程)中选择菜单“工程”-“引用”,选择你刚才编译的DLL工程即可。
调用方法与普通的Function/Sub/Property/Event用法没有任何区别,这就是微软自动封装接口的好处!我喜欢!另外,如果对你有帮助,请回复我的一个帖子:
http://www.csdn.net/expert/topic/654/654811.xml?temp=.8152735
主题: 我自认VB水平不错,请大家给我估估价!
在类模块中写上
Event xxxxxPublic Sub xxxxx
Public Function xxxxxx as yyyyy
Public Property Get xxxx as yyyy
pubilc property Let xxxx(New_xxxx as yyyy)
pubilc property set xxxx(New_xxxx as yyyy)之类的语句,并合理设置类的Instancing属性,就能基本入门。
参考“类模块向导”,很有帮助!使用编译好的ActiveX DLL时,从你的工程(Exe工程)中选择菜单“工程”-“引用”,选择你刚才编译的DLL工程即可。
调用方法与普通的Function/Sub/Property/Event用法没有任何区别,这就是微软自动封装接口的好处!我喜欢!另外,如果对你有帮助,请回复我的一个帖子:
http://www.csdn.net/expert/topic/654/654811.xml?temp=.8152735
主题: 我自认VB水平不错,请大家给我估估价!
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
说明在 Visual Basic 5.0 里,Instancing 属性应用于 Class 模块,并得到扩展,以便与 Visual Basic 4.0 Public 属性的功能合并在一起。如果类是可创建的,从其它应用程序创建该类的实例,可用下面的任何一种技术: 用 CreateObject 函数,如:
Set MyInstance = CreateObject("MyProject.MyClass")在同一工程里(或当 Public 属性设为 True 时,在工程之外)用 Dim 语句,如:
Dim MyInstance As New MyClass关键字 New 表明 MyInstance 被声明为 MyClass 的一个新实例。如果 Public 属性为 False,则 Instancing 属性被忽略。总可以在定义该类的工程内创建类实例。如果 Public 属性为 True,则此类可视。因此一旦该类的实例存在,那么它是能受控于其它应用程序的。注意 GlobalMultiUse 对象的各种属性和方法,不是提供对象的部件的全局名空间的一部分。例如,在包含 GlobalUtility 类模块的工程内部,为了使用这个对象的各种属性和方法,必须显式创建 GlobalUtility 的实例。全局对象的其它限制,列在“部件工具指南”的“编译代码部件”的“全局对象和代码库”中。
他们在类被引用和被释放时自动执行?
如果不是能否为我解释一下?
如果是,是否还有类似的函数?
Class_Terminate在类实例被释放时不一定自动执行。其中,VB6在同一个类实例的所有引用(含工程内部自引用)都释放时,自动执行;而VB.Net要在上述条件满足之后,滞后一段时间才自动执行,这是因为自动回收内存的机制已经不同了……另外,如果对你有帮助,请回复我的一个帖子:
http://www.csdn.net/expert/topic/654/654811.xml?temp=.8152735
主题: 我自认VB水平不错,请大家给我估估价!
http://www.csdn.net/Expert/Forum.asp?TypeNum=7&roomid=0
谢谢