xiongshuaihao 2013-08-05 06:13
浏览 1717

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的动态链接库就出错了

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制
    • ¥20 usb设备兼容性问题
    • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
    • ¥15 安装svn网络有问题怎么办