sdhzzzzcd 发表于 2006-7-29 12:15

VC和Matcom混合编程的问题,高手请进!!!有源代码

我是按照http://www.vckbase.com/document/viewdoc/?id=1465这个网页的方法进行编程的,但现在出现了这个问题:如果不加winaxes(m_hWnd)这句话,程序可以运行,但是会出现关闭进程后任务管理器中仍存在进程的情况;如果加了winaxes(m_hWnd)这句话,程序就不能运行了,出现Exception code:OEEDFADE Unknown code called from C:/matlab6p5/work/trans0.m 2 这个错误,请问这是怎么回事?麻烦哪位大侠给解决一下,谢谢!
附代码如下:
void CTest2Dlg::OnButton1()
{
        // TODO: Add your control notification handler code here
        initM(MATCOM_VERSION); //初始化matlib库
//        CWnd *p1=NULL;
//        p1=(CWnd *)GetDlgItem(IDC_STATIC);//得到用于显示图像Static text控件的ID
//        Mm plothandle=winaxes(p1->m_hWnd);//将Static text的句柄设置赋给画图句柄
                     winaxes(m_hWnd);
        trans0(10,10,10,10,10);
        exitM();//结束对matlib库的调用

}
用注释掉的三行不行,用winaxes(m_hWnd);也不行,如果都注释掉则会出现内存泄漏的问题,也就是说关闭该进程后任务管理器中中仍有该进程,请问该怎么解决,哪位大侠知道麻烦说一下,我已经查了好几天的资料了,都没解决这个问题.

[ 本帖最后由 lxq 于 2006-12-21 11:49 编辑 ]

liule 发表于 2006-8-29 13:17

你看下面的代码又帮助吗?
CFileDialog dlg(1,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,this);
        if(dlg.DoModal()==IDOK)
        {
                CString filename = dlg.GetPathName();
                Mm mFileName;
                ChangeStrToMm(mFileName, filename);
                if(!this->IsMatcomHandleValid(m_h))
                {
                        m_h = winaxes(this->m_hWnd);               
                }
                imread(mFileName,TM("*.bmp"),i_o,m_data,m_map);
                int * pdims = m_data.getdims();
                int ndims = m_data.getndims();               
                int nrow = m_data.rows();
                int ncol = m_data.cols();
                m_data = im2double(m_data);
                if(ndims == 3 )
                {
                        Mm m_data1,maxdata;
                        rgb2gray(m_data,m_data1);
                        m_data = m_data1;
                        maxdata = max(max(max(m_data)));
                        m_data = (m_data/maxdata)*255;
                }               
                set(m_h,TM("Cdata"),m_data);
                colormap(gray());               
                drawnow();               
        }

xl_43400 发表于 2006-12-20 20:25

这个问题嘛,可以在ExitInstance()中添加强制关闭进程的代码

zhouxman 发表于 2008-12-18 16:38

我杂用哪个可以成功呢
页: [1]
查看完整版本: VC和Matcom混合编程的问题,高手请进!!!有源代码