void CTsClient::SendPacket(CTsPacketHeader *pclPacket)
{
CSingleLock cllock(&m_cllockSendPacket,TRUE);
//m_cllockSendPacket.Lock();
m_clSendPacket.AddTail(pclPacket);
//m_cllockSendPacket.Unlock();
}程序运行到CSingleLock cllock(&m_cllockSendPacket,TRUE);
就崩溃
有遇过的么

解决方案 »

  1.   

    调试看下m_cllockSendPacket 是否有效
      

  2.   

    同上
    explicit CSingleLock(
       CSyncObject* pObject,
       BOOL bInitialLock = FALSE 
    );
    pObject
    Points to the synchronization object to be accessed. Cannot be NULL. bInitialLock
    Specifies whether to initially attempt to access the supplied object. 
      

  3.   

    &m_cllockSendPacket   0xcccccd50
      

  4.   

    void CTsClient::SendPacket(CTsPacketHeader *pclPacket)
    {
    if(m_cllockSendPacket=NULL)
    {
    AfxMessageBox("无效指针");
    return;
    }
    CSingleLock cllock(&m_cllockSendPacket,TRUE);
    //m_cllockSendPacket.Lock();
    m_clSendPacket.AddTail(pclPacket);
    //m_cllockSendPacket.Unlock();
    }