yueyelyc
2008-08-08, 10:53
各位大侠,我用的是matlab6.5和vc6.0,现在我把.m文件编译成dll,其中用到了load导入数据,想在vc中调用此函数画图,程序不报错,但是matlab图形对话框出不来,vc对话框也关闭了,也没法看到错误出在什么地方,请问有人碰到过这问题吗~~~
然后我打算在vc中读取数据用mxArray赋给matlab,我试了几个小程序没问题,但是这个是对话框一闪就关闭了,图形也没看见。请高手解答一下,万分感谢!附问题二主要程序如下:
isothermdllInitialize();
//给matlab矩阵赋值
mxArray* answer_x=null;//赋初值
mxArray* answer_y=null;
mxArray* answer_t=null;
// 使用自动内存管理
mlfEnterNewContext(0, 0);
//创建矩阵
mlfAssign(&answer_x, mlfDoubleMatrix(rowNum, colNum, element_x, NULL));
mlfAssign(&answer_y, mlfDoubleMatrix(rowNum, colNum, element_y, NULL));
mlfAssign(&answer_t, mlfDoubleMatrix(rowNum, colNum, element_t, NULL));
//画图函数
mlfIsotherm2(answer_x,answer_y,answer_t);
// 释放矩阵所占的内存
mxDestroyArray(answer_x);
mxDestroyArray(answer_y);
mxDestroyArray(answer_t);
// 禁用自动内存管理
// mlfRestorePreviousContext(0, 0);
isothermdllTerminate();
然后我打算在vc中读取数据用mxArray赋给matlab,我试了几个小程序没问题,但是这个是对话框一闪就关闭了,图形也没看见。请高手解答一下,万分感谢!附问题二主要程序如下:
isothermdllInitialize();
//给matlab矩阵赋值
mxArray* answer_x=null;//赋初值
mxArray* answer_y=null;
mxArray* answer_t=null;
// 使用自动内存管理
mlfEnterNewContext(0, 0);
//创建矩阵
mlfAssign(&answer_x, mlfDoubleMatrix(rowNum, colNum, element_x, NULL));
mlfAssign(&answer_y, mlfDoubleMatrix(rowNum, colNum, element_y, NULL));
mlfAssign(&answer_t, mlfDoubleMatrix(rowNum, colNum, element_t, NULL));
//画图函数
mlfIsotherm2(answer_x,answer_y,answer_t);
// 释放矩阵所占的内存
mxDestroyArray(answer_x);
mxDestroyArray(answer_y);
mxDestroyArray(answer_t);
// 禁用自动内存管理
// mlfRestorePreviousContext(0, 0);
isothermdllTerminate();