一个关于类初始化的问题

ArcJeremy 2006-05-05 07:41:15
我在VB里建了一个ActiveX DLL工程,并创建了一个Persistable类。代码如下:
Option Explicit
Private shpType As String

Private Sub Class_InitProperties()
shpType = "Point"
End Sub

Public Sub Class_ReadProperties(PropBag As PropertyBag)
shpType = PropBag.ReadProperty("ShapeType", "Point")
End Sub

Public Sub Class_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty "ShapeType", shpType, "Point"
End Sub

Public Property Let ShapeType(ByVal vData As String)
shpType = vData
Call PropertyChanged("ShapeType")
End Property

Public Property Get ShapeType() As String
ShapeType = shpType
End Property

在VBScript中创建对象Set shpInfo = CreateObject("Shape.ShapeInfo"),但是在程序执行到后面提示说类没有被初始化。
而用VB的声明:set shpInfo = new Shape.ShapeInfo 则程序完全正常。
后来在Class_InitProperties事件设了一个MsgBox,发现用vbscript创建的对象根本没有执行Class_InitProperties事件,也就是shpType 没有被初始化。

这个类主要想用于MSMQ message 的body参数传递,它要求是一个persistable的对象,所以有Class_ReadProperties,Class_WriteProperties 和Class_InitProperties三个过程。

我现在想在VBScript中使用它来做为msmq消息传递,而现在这个类用vbscript似乎不能初始化,请大家帮我看下有什么解决办法。
...全文
62 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧