mfc 调用matalab的dll进行画图时,出不来图形
2010-08-04 16:36
176 查看
问题描述:
[我用mfc 调用matalab的dll进行画图时,出不来图形。请问是怎么回事啊
我的环境是vs 2005 matalab7.5
huatu.m函数如下:
function y= huatu(x)
y = sin(x)
plot(x,y);
end
MFC处理主要函数如下:
void CmyaddmfcDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
if( !mclInitializeApplication(NULL,0) )
{
AfxMessageBox(_T("Could not initialize the application!"));
return ;
}
if( !libhuatuInitialize())
{
AfxMessageBox(_T("Could not initialize libmyadd2!"));
return ;
}
mwArray a(1, 10, mxDOUBLE_CLASS);
double *aData;
aData = new double[10];
for(int i=0; i<10; ++i)
{
aData = 1.0*i;
}
a.SetData(aData, 10);
mwArray b(1, 10, mxDOUBLE_CLASS);
huatu(1,b,a);
libhuatuTerminate();
mclTerminateApplication();
}
我的环境变量设置等 应该没有问题。因为我执行win32控制台程序是成功的。就是mfc画图总是不成功!!
求帮助!执行的时候,貌似有一个窗口闪过,然后就没了。然后重新执行,就会出现初始化错误提示!
问题解决:
别人:
从给出的程序来看,以及lz看到貌似有个窗口一闪而过,那时因为程序在执行过程中的确画出图了,可是关掉的太快了(通过调用libhuatuTerminate())。
解决的办法就是把对我们的DLL库的初始化和关闭分别放到程序别的地方,不要放到按钮响应函数里,通常可以吧初始化代码放到OnInitialDialog或者其他合适的地方,而把关闭库的代码放到OnClose或者其他合适的地方,这样按钮的响应函数只做画图,这样也显得有点条理。
我:
将初始化代码放在initinstance();
关闭库的代码放到existinstance();
[我用mfc 调用matalab的dll进行画图时,出不来图形。请问是怎么回事啊
我的环境是vs 2005 matalab7.5
huatu.m函数如下:
function y= huatu(x)
y = sin(x)
plot(x,y);
end
MFC处理主要函数如下:
void CmyaddmfcDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
if( !mclInitializeApplication(NULL,0) )
{
AfxMessageBox(_T("Could not initialize the application!"));
return ;
}
if( !libhuatuInitialize())
{
AfxMessageBox(_T("Could not initialize libmyadd2!"));
return ;
}
mwArray a(1, 10, mxDOUBLE_CLASS);
double *aData;
aData = new double[10];
for(int i=0; i<10; ++i)
{
aData = 1.0*i;
}
a.SetData(aData, 10);
mwArray b(1, 10, mxDOUBLE_CLASS);
huatu(1,b,a);
libhuatuTerminate();
mclTerminateApplication();
}
我的环境变量设置等 应该没有问题。因为我执行win32控制台程序是成功的。就是mfc画图总是不成功!!
求帮助!执行的时候,貌似有一个窗口闪过,然后就没了。然后重新执行,就会出现初始化错误提示!
问题解决:
别人:
从给出的程序来看,以及lz看到貌似有个窗口一闪而过,那时因为程序在执行过程中的确画出图了,可是关掉的太快了(通过调用libhuatuTerminate())。
解决的办法就是把对我们的DLL库的初始化和关闭分别放到程序别的地方,不要放到按钮响应函数里,通常可以吧初始化代码放到OnInitialDialog或者其他合适的地方,而把关闭库的代码放到OnClose或者其他合适的地方,这样按钮的响应函数只做画图,这样也显得有点条理。
我:
将初始化代码放在initinstance();
关闭库的代码放到existinstance();
相关文章推荐
- 用MFC写对话框形式的DLL并用程序进行调用方法
- VS 2005 创建DLL工程,并进行调用与调试例子
- matlab编写的.M文件用vc6.0(MFC(dll)工程转换为dll文件,并用vc6.0(MFC对话框工程调用dll)文件
- 在MFC中调用DLL .
- MFC调用c#的dll
- MFC/VC++调用word进行报表制作
- 使用DLL进行不同语言之间的调用
- 使用DLL进行不同语言之间的调用
- 使用Opencv调用摄像头并在MFC中进行视频显示
- MFC中调用控制台CMD进行输出
- VC++6.0 动态库的创建与调用(非MFC的dll)
- [VB.NET]求教:vb.net调用MFC DLL问题
- MFC调用mstscax.dll控件实现远程连接(添加消息回调)
- ATL写的DLL中调用MFC对话框
- MFC dll的创建与调用
- MFC中调用C#编写的DLL
- 调用DllRegisterServer进行COM组件的注册
- C#调用MFC程序DLL库——MFC项目DLL生成问题、DLL引用链问题、DLL读取配置文件路径问题
- 温习ASP调用C#的DLL并实现用户名密码进行域验证反馈结果
- MFC调用Qt生成的dll