240
CEntityHelper <CCWAnswerWord, CCWAnswerWordTable> entityCWAnswerWord(ses-
sion);
POSITION pos = m_objects.GetHeadPosition();
while (pos != NULL)
{
CDrawObject* pObj = m_objects.GetNext(pos);
if (pObj->IsKindOf(RUNTIME_CLASS(CDrawOleObj)))
{
CDrawOleObj *pOleObj = dynamic_cast<CDrawOleObj*>(pObj);
ASSERT (pOleObj && pOleObj->m_pClientItem);
CLSID clsID;
pOleObj->m_pClientItem->GetClassID (&clsID);
if (clsID == CLSID_AxDrawXWord)
{
LPDISPATCH disp = pOleObj->m_pClientItem->GetIDispatch
();
ASSERT (disp);
CDAxDrawXWord xword;
xword.AttachDispatch (disp);
//
// Insert model identifier
//
entityCWPublicationPageModels->IDCWPublicationPage =
publication_page_id;
entityCWPublicationPageModels->IDCWModel = (dou-
ble)xword.GetXWordIDModel ();
if (!entityCWPublicationPageModels->Put())
throw E_PUTPUBLICATIONPAGEMODEL;
entityCWPublicationPageModels->m_Table->m_dwIDCWPubli-
cationPageModelStatus = DBSTATUS_S_OK;
entityCWPublicationPageModels->m_Table-
>m_dwIDCWModelStatus = DBSTATUS_S_IGNORE;
entityCWPublicationPageModels->m_Table->m_dwIDCWPubli-
cationPageStatus = DBSTATUS_S_IGNORE;
//entityCWPublicationPageModels->m_Table->m_dwGlobal-
NameStatus = DBSTATUS_S_IGNORE;
//entityCWPublicationPageModels->m_Table->m_dwPublica-
tionYearStatus = DBSTATUS_S_IGNORE;
//entityCWPublicationPageModels->m_Table->m_dwPublica-
tionNumberStatus = DBSTATUS_S_IGNORE;
//entityCWPublicationPageModels->m_Table->m_dwPage-
NumberStatus = DBSTATUS_S_IGNORE;
if (!entityCWPublicationPageModels->Get ())
throw E_GETTPUBLICATIONPAGEMODEL;
//
// Do not write answers for answer grid
//
if (xword.GetXWordIsAnswer())
continue;
//
// Checking words for duplication
//
int size = xword.XWordWordsListSize ();
CString idlist = L"(";
for (int i = 0; i < size; i++)
{
CComVariant var;
xword.XWordGetWordData (i, wdtWordID, &var);