2 xiongshuaihao xiongshuaihao 于 2013.08.05 14:13 提问

LabView中调用MFC-Wizard生成的DLL实现自定义文件对话框功能出错

VC创建MFC-Wizard生成的Dll,在导出函数MyFileOpen中调用由CFileDialog派生类CMyFileDlg实现自定义文件对话框。再在LabView中引用库函数节点调用MFC生成的DLL,输入输出参数设置输入类型int32、输出为C字符串指针即为文件对话框返回的选中目标文件路径。
如上配置完成后,运行弹出1097错误,用error_out屏蔽后,返回路径没有输出结果。DLL调试执行MyFileOpen内的如下代码中
__declspec(dllexport) void MyFileOpen(int* nMode,char* path)
{
if(*nMode==0)
{

CMyFileDlg dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,
    NULL,NULL);

dlg.m_ofn.lpstrFilter="Chart Files (*.*)\0*.*\0";

// dlg.m_ofn.lpstrInitialDir="D:\VC6.0完整\VC98\MFC\Include";
// dlg.OnInitDialog();
if(dlg.DoModal()==IDOK)
{
//strcat(path,"000");
CString str=dlg.GetFileName(); //???执行没有效果
path=str.GetBuffer(str.GetLength());
*nMode =1;
}
else
{
*nMode =2;
strcat(path,"000");
return ;
}

}
else
{
    *nMode =2;
}
return ;

}

str=dlg.GetFileOpen();没有效果。
求懂LabView和MFC的大神求解,第一次使用LabView调用MFC的动态链接库就出错了

Csdn user default icon
上传中...
上传图片
插入图片