sunhmm100 发表于 2008-1-8 09:00

matlab与vc通过COM混编的疑问

我想用VC做界面,神经网络算法用MATLAB做好,通过COM形式被VC调用。目前在学习这方面的例子,但是按照例子的步骤做,最后程序运行后点击我做的按钮, 老是说 exe运行遇到问题,然后就关闭了。不知道是什么原因。我把写的两个按钮对应的函数贴出来。
void CPlotView::OnButtonStart()
{
// TODO: Add your command handler code here
plot.CreateDispatch(CLSID_plot,NULL);//创立接口
    COleDispatchDriver();
}
void CPlotView::OnButtonPlot()
{
// TODO: Add your command handler code here
const int N=100; //数组大小
double a;//数组定义
double f=50;//正弦信号频率
double Ts=0.002; //采样时间

//赋值
for (int i=0; i<N; i++)
{
a=sin(2*PI*f*i*Ts);
}
    //任意变量
VARIANT x;
VariantInit(&x);//初始化

x.vt=VT_ARRAY|VT_R8; //类型(数组,双精度型)
SAFEARRAYBOUND rgsabound;
rgsabound.cElements=N;    //数组所含元素数
rgsabound.lLbound=0;   //数组上界
//创立数组
x.parray=SafeArrayCreate(VT_R8,1,rgsabound);//创立一维数组
//锁定数组
SafeArrayLock(x.parray);
//数组传递数据
x.parray->pvData=a;

//调用方法
plot.plot_test(x);
//解锁
SafeArrayUnlock(x.parray);
}

chen251213 发表于 2008-1-8 09:09

我对这个也很有兴趣。你能把你的matlab程序和VC工程发给我看看么?

sunhmm100 发表于 2008-1-8 09:41

原帖由 chen251213 于 2008-1-8 09:09 发表 http://www.chinavib.com/forum/images/common/back.gif
我对这个也很有兴趣。你能把你的matlab程序和VC工程发给我看看么?
怎么发给你呢?

sigma665 发表于 2008-1-8 09:47

回复 #3 sunhmm100 的帖子

可以通过站内短信息
也可以直接发到这个贴里面..

409386984 发表于 2008-2-4 23:52

就我的个人经验来看是你的接口创建有问题,
页: [1]
查看完整版本: matlab与vc通过COM混编的疑问