我在程序中用了一个Scomm控件,这个控件放在testsystemview中.其中,我在scomm控件基础上写了个发送函数senddata();
现在,我要在另外的地方调用这个函数,我是否可以这样做:CTestsystemView* pTestsystemView;
//调用COM口的发送函数,发送缓冲区中的数据,com口控件寄生在CTestsystemView中
pTestsystemView=(CTestsystemView*)((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();
pTestsystemView->SendData(pBuff,size);我对vc不太熟悉,不知这样能否获得正确的pTestsystemView指针?
另外请问各位高手,我不想将Scomm控件放在testsystemview中,不知可否放在其他什么地方?是否可以单独封装成一个独立的类?

解决方案 »

  1.   

    1.可以
    2.可以放在mainframe中,如果只有一个Scomm实例的话。
      

  2.   

    但是我编译运行后,运行到这里就出错了.我是在定义在app中的一个类的成员中调用的.
    跟踪调试给出的错误信息是:unhandled exception in testsystem.exe(MFC42D.DLL),0xc0000005:access
    violation不知为什么?我对vc不太熟悉,怀疑是指针无效,不知对不对?
    如果是,我该怎样改呢?不胜感激!