首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT XML解析异常

2012-04-26 
QTXML解析错误我单写的程序用QTDOM方式解析没错误但是把程序整合到一套大程序中得时候老是运行出错Debgug

QT XML解析错误
我单写的程序 用QT DOM方式解析没错误
但是把程序整合到一套大程序中得时候 老是运行出错
Debgug Assertion Failed!

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse);


这应该是说我重复删除了某些空间
函数如下:
int CFaultModelXML::IniProTree(char *szFileName)
{
if(szFileName == NULL)
{
return -1;
}

QFile xmlFile( QObject::tr(szFileName) );
if ( !xmlFile.open( QIODevice::ReadOnly ) ) 
{
  ...
}
QDomDocument domTree;
if ( !domTree.setContent( &xmlFile ) ) 
{
  ...
}
xmlFile.close();

//得到顶级节点信息

QDomElement root = domTree.documentElement();
//分析节点信息

parseProTreeXML(root);
return 1;
}

跟踪了一下,在return 1的时候,会调用几次static inline void cleanup(T *pointer);
然后在这里报错。
如果我把domTree.setContent 这个注释掉,没有问题,但是注释掉之后就不能解析XML文件了。
有谁知道怎么解决么,感谢

[解决办法]
查一查释放相关资源和析构函数吧
[解决办法]
看看是不是有重复析构或者野指针
[解决办法]
建议把 
QDomDocument domTree;
QDomElement root 

作为类的成员变量试试。
[解决办法]

探讨

建议把
QDomDocument domTree;
QDomElement root

作为类的成员变量试试。

热点排行