使用产品:iobjectscpp 9.1.0 操作系统:win10 x64
数据类型: 文件型
问题详细描述:
工作空间本来没有数据源,使用如下代码打开数据源并保存,返回true:
UGDataSource *ds = NULL;
UGWorkspace *ws = OpenWorkspace(L"a.smwu");
UGDsConnection con;
con.m_nType = UGEngineType::UDB;
con.m_strServer = L"a.udb";
cout << "打开数据源:" << ((ds = ws->OpenDataSource(con)) ? "成功" : "失败") << endl;
ws->m_WorkspaceConnection.m_strServer = L"a.smwu";
ws->m_WorkspaceConnection.m_nVersion = UG_WORKSPACE_VERSION_20120328;
ws->m_WorkspaceConnection.m_nWorkspaceType = UGWorkspace::WS_Version_SMWU;
ws->m_WorkspaceConnection.m_bFailIfExists = false;
cout << "保存工作空间:" << (ws->Save() ? "成功" : "失败") << endl;
结果是,下次再打开工作空间时,无法正常打开数据源,在超图里面的表现是这样的:
数据源下面显示了一个空名字的数据源,无法关闭
尝试在超图里面添加同一个数据源a.udb并保存,结果一切正常,所以应该不是数据源的问题,而是代码中打开数据源的方式问题。
尝试在打开数据源的时候设置数据源的strAlias为"a",再在超图里面打开,结果是数据源下面显示"a",然而还是输出“打开数据源'a'失败“,不过这次可以关闭数据源了。
请问应该怎么改呢?