none
帮忙分析一下是什么错误? RRS feed

  • 问题

  • 点击某一控件出现感叹号警告,CGenProperty::SetHtmlNode m_htmlNode.Load
    <DIV id="test_link_vertical_1"  style="LEFT:314px;WIDTH:348px;POSITION:absolute;TOP:235px"name="test-link_vertical_1" itemtype="test_linkvert_table" groupid="test_link_group_2"istesttable="istesttable" test_table_rows="5" numtaglist="1,2,3,4,5.">
    <TBODY>
    <TR>
    <DIV id="test_link_cell_4" style="left:0px; WIDTH:80%;POSITION:relative;TOP:0px;HEIGHT:100%"name="test_link_cell_4" itemtype="test_link_cell" groupid="tes_link_group_2" curtestid="test_link_vertical_1"numtag="1"></DIV></TD></TR>失败!
    这些是什么意思啦?是什么错误造成的。谢谢!

    2010年1月5日 3:20

答案

  • 你得看代码里面哪里有你贴出来的错误信息。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 anmy 2010年1月6日 7:17
    • 取消答案标记 anmy 2010年1月6日 7:19
    • 已标记为答案 anmy 2010年1月6日 7:19
    2010年1月5日 13:59
    版主
  • 返回0xccccccc的话,xnTest.CreateNode()的实现有BUG。
    至于VCIMA报告的问题,联系VCIMA的作者。这个错误信息和MFC的错误信息类似,但是MFC不会生成VCIMA这样的前缀。


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 anmy 2010年1月7日 1:18
    2010年1月6日 13:08
    版主

全部回复

  • 联系CGenProperty类的作者。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 anmy 2010年1月5日 4:28
    • 取消答案标记 anmy 2010年1月5日 8:51
    2010年1月5日 4:12
    版主
  • 哦,谢谢您!您好,现在我找到了GenProperty.cpp的源代码部分,出现这种错误一般是哪里出现了错误了?
    2010年1月5日 4:28
  • 你得看代码里面哪里有你贴出来的错误信息。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 anmy 2010年1月6日 7:17
    • 取消答案标记 anmy 2010年1月6日 7:19
    • 已标记为答案 anmy 2010年1月6日 7:19
    2010年1月5日 13:59
    版主
  • 哦,谢谢您!现在调试有代码部分的应用程序,还是总是出现
    VCIMA: Warning: no document names in string for template #16.
    VCIMA: No handler for command ID 0x8058, disabling it.
    VCIMA: No handler for command ID 0x8437, disabling it.
    VCIMA: No handler for command ID 0x8417, disabling it.
    VCIMA: No handler for command ID 0x8418, disabling it.
    VCIMA: No handler for command ID 0x8057, disabling it.
    VCIMA: No handler for command ID 0x8436, disabling it.
    VCIMA: No handler for command ID 0x8433, disabling it.
    VCIMA: No handler for command ID 0x8434, disabling it.
    VCIMA: No handler for command ID 0x8435, disabling it.
    VCIMA: No handler for command ID 0x841A, disabling it.
    VCIMA: No handler for command ID 0x8419, disabling it.
    VCIMA: No handler for command ID 0x841B, disabling it.

    单击一个控件的话,就是出现让调试。这个控件实现不了与上面的错误有关吗?谢谢!

    2010年1月6日 1:32
  •  哦,谢谢您!错误出现在CString str1 = lpTable->GetXML();而str1的值是
    <TABLE id="test_linkhori_table_3" style="LEFT:20px;WIDTH:500px;POSITION: absolute;TOP: 60px;HEIGHT:30px" border="1"
    name="test_linkhori_table_3" itemtype="test_linkhori_table" groupid="test_link_group_2" istesttable="istesttable" test_table_rows

    警告出现的也有这部分只不过最后部分是
    test_table_rows="5" numtaglist="1,2,3,4,5,">。还有代码中lpTBody的值是0xcccccccc.代码是这样子的,您帮看看吧。


    void CXHtmlView::AddTestCell(XNode &xnTest, IHTMLElement *pElem, long lNumtag, CString strTableID)
    {
     // 得到tbody
     LPXNode lpTable = xnTest.CreateNode();
     if ( "" != strTableID)
     {
      lpTable = xnTest.FindNodeByAttr("id", strTableID);
     }
     else
     {
      lpTable = xnTest.FindNodeByAttr("istesttable", "istesttable");
     }
     CString str1 = lpTable->GetXML();
     TRACE("%s\n", str1);
     LPXNode lpTBody = xnTest.CreateNode();
     lpTBody = lpTable->GetChild(0);         
    // lpTBody = lpTable->GetChild(1);             //modify by thx
     CComBSTR bstrtemp = lpTBody->GetXML(); // 把TBody内容先保存到字符串中
     CString temp = bstrtemp;
     lpTable->RemoveChild(lpTBody); // 因为要修改TBody,为了把修改之后的TBody重新加入
               // 表格,先把旧的TBody删除
     lpTBody = xnTest.CreateNode(); // 由于RemoveChild()将lpTBody指向的节点销毁,因此CreateNode
     lpTBody->Load(temp);

     // 判断当前试题类型
     CString itemtype = xnTest.GetAttrValue("itemtype");
     // 得到当前是“纵排”---1、“横排”---2、还是“网格”---3、其他 -1
     int nAlign = GetTestAlign(xnTest);
     CString strTestID = xnTest.GetAttrValue("id");
     int index = GetTestItemNo(itemtype);
     switch (index)
     {
     case ID_TEST_ITEM_ORDER:
      AddTestOrderCell(lNumtag, lpTBody, nAlign);
      break;
     case ID_TEST_ITEM_LINK: 
      AddTestLinkCell(lNumtag, lpTBody, strTestID, nAlign);  
      break;
     case ID_TEST_ITEM_SELECT: 
      AddTestSelectCell(lNumtag, lpTBody, nAlign);
      break;
     case ID_TEST_ITEM_BLKNUM: 
      break;
     case ID_TEST_ITEM_BLANK:
      break;
     case ID_TEST_ITEM_HOTOBJ : 
      break;
     default:
      break;
     };

     // 把TBody加回Table
     lpTable->AppendChild(lpTBody);

    }

    2010年1月6日 7:28
  • 返回0xccccccc的话,xnTest.CreateNode()的实现有BUG。
    至于VCIMA报告的问题,联系VCIMA的作者。这个错误信息和MFC的错误信息类似,但是MFC不会生成VCIMA这样的前缀。


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 anmy 2010年1月7日 1:18
    2010年1月6日 13:08
    版主
  • 哦,谢谢您!现在我有VCIMA的程序,现在这个程序在您们的帮助下功能大部分都实现了。其它文件夹有几个是作者的release版的vcima,是没有程序的。上次问您也就是这几个vcima还是有部分功能没有实现,看来现在我只能把我一直调试的那个vcima的功能都实现就好了。现在让我恢复,作者联系不上了。

    2010年1月7日 1:16
  • 在CreateNode()函数设置断点单步调试后lpTBody的值不是0xcccccccc,变成了0x0173dbf0,但是单步调试变量时出现的是
    node:  cxx0069:error:vriable needs stack frame
    this:    cxx0069:error:vriable needs stack frame
    这是什么意思呀?单步调试到 TRACE("%s\n", str1);时就出现重试那个窗口,是trace这个函数的问题吗,trace这个函数是mfc中的吧,mfc中有 TRACE1("No handler for command ID 0x%04X, disabling it.\n", m_nID);而这个项目的输出窗口就出现的是
    VCIMA: No handler for command ID 0x8417, disabling it.
    VCIMA: No handler for command ID 0x8418, disabling it.
    VCIMA: No handler for command ID 0x8057, disabling it.
    VCIMA: No handler for command ID 0x8436, disabling it.
    VCIMA: No handler for command ID 0x8433, disabling it.
    VCIMA: No handler for command ID 0x8434, disabling it.
    这样的报告,也就是说是trace函数的问题,您认为是吗?

     

    2010年1月7日 5:41