声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2622|回复: 3

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

[复制链接]
发表于 2006-7-29 12:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我是按照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 编辑 ]
回复
分享到:

使用道具 举报

发表于 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();               
        }

评分

1

查看全部评分

发表于 2006-12-20 20:25 | 显示全部楼层
这个问题嘛,可以在ExitInstance()中添加强制关闭进程的代码
发表于 2008-12-18 16:38 | 显示全部楼层
我杂用哪个可以成功呢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-12 00:15 , Processed in 0.072492 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表