Ejemplo n.º 1
0
/////////////////////////////////////////////////////////////////////////////
// 关闭OWM对象窗口
/////////////////////////////////////////////////////////////////////////////
void CPlugIn::CloseOwmFrame()
{
	if(m_pVciObj == NULL)
	{
		return;
	}

	IVciOwm* pIVciOwm = (IVciOwm*)m_pVciObj;
	CMultiDocTemplate* pDocTemplate = NULL;
	pIVciOwm->GetDocTemplate(&pDocTemplate);

	if(pDocTemplate && (m_nType & OWM_DOC))
	{
		// 关闭所有OWM文档和窗口
		pDocTemplate->CloseAllDocuments(FALSE);

		// 如果是动态加载OWM,则卸载掉此模块,但保留结构
		if(m_nType & OWM_DYNLOAD)
		{/*
			for(int i=0; i<m_aOWMs.GetSize(); i++)
			{
				if((m_aOWMs[i].ol.nOWMID == ol.nOWMID) && m_aOWMs[i].bEnableDynLoad)
				{	// 只有模块类型设置了OWM_DYNLOAD,且数据库中也配置了允许动态加载,动态加载才真正有效
					TRACE("DynUnLoad a OWM[%d]: %s\n", m_aOWMs[i].ol.nOWMID, m_aOWMs[i].szName);
					UnLoadOWM(i, TRUE);
					break;
				}
			}*/
		}
	}
}