Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal ByteLen As Long)Private Sub Form_Load()
    Dim objSource As Collection
    Set objSource = New Collection
    objSource.Add "Test1"
    '把对象拷贝成指针
    Dim lpObj As Long
    '---------注意--------------------
    '用内存拷贝后对象引用计数并不会加1
    '---------------------------------
    CopyMemory lpObj, objSource, 4
    Debug.Print lpObj
    '从指针恢复对象,以下操作可能在不同过程中
    Dim objDest As Collection
    If lpObj > 0 Then
        CopyMemory objDest, lpObj, 4
        Debug.Print objDest(1)
        '---------注意--------------------
        '由于对象引用计数没有加1
        '此时如果用Set objDest = Nothing
        '释放对象将导致非法操作
        '必须用以下语句释放对象
        '---------------------------------
        CopyMemory objDest, 0&, 4
    End If
End Sub