lynette 发表于 2008-6-20 11:02

基于combuilder的matlab与vc混合编程的问题

大家好,我写了一个很简单的m函数文件,把它做成一个com用vc来调用.
m函数文件
function huatu(filename)
x=load(filename)
y=sin(x);
plot(x,y);

在vc中调用
CoInitialize(NULL);
VARIANT filename;
VariantInit(&filename);
filename.vt=VT_BSTR;
filename.bstrVal=SysAllocString(L"E:\\dd.txt");
//filename.bstrVal=_com_util::ConvertStringToBSTR("E:\\dd.txt");
Ihuatu *pImyclass;
HRESULT hr=CoCreateInstance(CLSID_huatu,NULL,CLSCTX_ALL,IID_Ihuatu,(void **)&pImyclass);

if(SUCCEEDED(hr))
{
hr=pImyclass->huatu(filename);
pImyclass->Release();
AfxMessageBox("succeed");
}

else
   {
    AfxMessageBox("unsucceed");
   }
程序没有错误的,可就是hr=pImyclass->huatu(filename);不能显示结果.我设置中断调示,发现filename=("E:\\dd.txt");
不知哪里出错了,还请大家帮帮忙啊.

ch_j1985 发表于 2008-6-20 11:10

原帖由 lynette 于 2008-6-20 11:02 发表 http://www.chinavib.com/forum/images/common/back.gif
大家好,我写了一个很简单的m函数文件,把它做成一个com用vc来调用.
m函数文件
function huatu(filename)

filename=("E:\\dd.txt"); 改为filename=("E:\dd.txt");
试试看
页: [1]
查看完整版本: 基于combuilder的matlab与vc混合编程的问题