内容在这个帖子里
http://community.csdn.net/Expert/topic/4664/4664696.xml?temp=.3703119
在这里改了属性后========================================================================
属性变量:
Dim m_Group As colgroup
对于对象而言,它的初始值是Nothing,不是0
'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("Group", m_Group, Nothing)
End Sub
'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    Set m_Group= PropBag.ReadProperty("Group", Nothing)
End Sub
========================================================================但在Form里调用USERCONTROL时,USERCONTROL.GROUP.ADD "text","key"时出现91错误"对象或WITH块属性未设置"
Public Property Get Group() As ColGroup
    Set Group = m_Group
End PropertyPublic Property Let Group(ByVal New_Group As ColGroup)
    Set m_Group = New_Group
    PropertyChanged "Group"
End Property我想主要是在初始值时设置的是Nothing,怎样定义GROUP属性是类集合colgroup啊要在Form里调用USERCONTROL.GROUP.ADD "text","key"
谢谢

解决方案 »

  1.   

    试试添加一个方法,如InitGroup
    function InitGroup()
        if m_Group is nothing then
             set m_group=new colgroup
        end if
    end function在操作此属性前先调用此方法进行初始化。
      

  2.   

    但在Form里调用USERCONTROL时,USERCONTROL.GROUP.ADD "text","key"时出现91错误"对象或WITH块属性未设置"
    -------------------------------
    对象没有初始化就调用,当然会出现这样的错误。这种程序一般的写法如下
    Dim m_Group As ColGroup
    '对于这种集合变量,在UserControl里一般设置成只读属性
    Public Property Get Group() As ColGroup
        Set Group = m_Group
    End Property
    Private Sub UserControl_Initialize()
        '控件初始化的时候,初始化集合
    Set m_Group=New ColGroup
    End Sub'客户端程序调用
    USERCONTROL1.GROUP.ADD "text","key"
      

  3.   

    还要不要'将属性值写到存储器啊
        Call PropBag.WriteProperty("Group", m_Group, Nothing)
        Set m_Group = PropBag.ReadProperty("Group", Nothing)
    要了要出错有没有完整的代码打包发个给我嘛
    [email protected]
    谢谢