MFC中一个对话框类调用另一个对话框中的Mscomm控件
目前基于对话框程序中有两个对话框类CDataviewDlg和CMeasureDlg,
现在在CMeasureDlg中希望实现操作按钮IDC_MOVE,通过调用CDataviewDlg中的Mscomm控件(相关变量mmscomm),传递指令,并接收返回的数据,
于是想获取mmscomm指针来进行操作,代码如下
void CMeasureDlg::OnBnClickedMove()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
CString strSrc;
strSrc=_T("%R1Q,2107:\r\n");
CDataviewDlg*pDlg;
pDlg=(CDataviewDlg*)GetDlgItem(IDD_Dataview);
m_mmscomm=new CMmscomm;
m_mmscomm=&(pDlg->mmscomm);
m_mmscomm->put_Output(COleVariant(strSrc));
UpdateData(false);
}
当运行到 m_mmscomm->put_Output(COleVariant(strSrc))时,程序中断,
void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet,
void* pvRet, const BYTE* pbParamInfo, ...)
{
ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least)
if (m_pCtrlSite == NULL)
return;
va_list argList;
va_start(argList, pbParamInfo);
m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo,
argList);
va_end(argList);
}
不知道如何解决,急求大牛解答,谢谢!
本人新手刚开始学习,希望最好有要修改的代码,谢谢了!