问题描述
- 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 (*.*)*.*";
// dlg.m_ofn.lpstrInitialDir="D:VC6.0完整VC98MFCInclude";
// 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的动态链接库就出错了
时间: 2024-08-03 19:52:29