在被切分为两个窗口的SDI程序中使用CMSComm控件时,在MainFrm.cpp的OnCreate函数中使用m_mscomm(CMSComm的对象).Create时,运行程序,窗口弹不出来,出现一个错误,我查了错误后,好象是说CWnd *pFramWnd为空(NULL),由此我估计是CMSComm控件的Create函数的第四个参数CWnd *pParentWnd设置有问题.(默认设置为this,这样可以在正常的一个窗口的SDI的程序中运行,一切正常).请问哪位高手知道这是什么问题,应该怎么解决呢?在线急等回复,谢谢!!

解决方案 »

  1.   

    最好使用CSerialPort这个类。很多地方可以下载他!
      

  2.   

    但是我已经使用这个控件了,且测试已经做成功了(在SDI程序中,且只用默认生成的一个窗口),但我现在是要把它加到我原来的工程中去作为一个其中的模块.且原来的工程是SDI的,但主窗口被切分成了两个,即类似OUTLOOK的那种.不知道哪位高手能够帮我解决这个问题,万分感谢!!
    附:CMSComm控件成员函数OnCreate的原型:
    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
    const RECT& rect, CWnd* pParentWnd, UINT nID,
    CFile* pPersist = NULL, BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL)
    { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
    pPersist, bStorage, bstrLicKey); }不知道一般的SDI程序与被切分窗口后的SDI程序在上面这几个参数中有什么不同,需要修改的呢?(在一般SDI单窗口即自动生成的默认程序中可以正常使用)