当前位置: 代码迷 >> Symbian >> E32USER-CBase 71?该怎么处理
  详细解决方案

E32USER-CBase 71?该怎么处理

热度:8658   发布时间:2013-02-26 00:00:00.0
E32USER-CBase 71???
我在一个view的 DoActivateL()里添加了一个读取数据并更新屏幕的操作,然后就会弹出这个panic 71
如何我把这个操作放在一个菜单命令里面执行就没有问题 ,但是我不希望每次我去手动执行菜单命令后才执行这个函数,我希望自动加载这个操作,请问应该怎么做?

------解决方案--------------------------------------------------------
一楼说的应该是对的,
E32USER-CBase 71, 这个错误就是压入和弹出的数据不一样造成的。
我曾经犯过的一个错是,一个对象只建立但是没有析构掉,
你可以检查一下相关的
------解决方案--------------------------------------------------------
确定没有在有的if或else分支中直接return了么?
------解决方案--------------------------------------------------------
This panic is raised when TRAPs have been nested and an attempt is made to exit from a TRAP nest level before all the cleanup items belonging to that level have been popped off the cleanup stack. 

There must be the same number of items on the cleanup stack on entering a TRAP harness as there is on exiting. In other words, anything that is pushed onto the cleanup stack inside a TRAP harness must be popped off before leaving the harness. 

For example, the following code avoids this panic when FooLC() does not leave, by explicitly popping pointer before the end of the harness: 

TRAPD(error, pointer = FooLC(); CleanupStack::Pop(pointer));
See also How to use TRAP. 

------解决方案--------------------------------------------------------
探讨
但是为什么我在构造函数中执行那个操作才会出这个panic,如果放到菜单命令中再去执行就不会出这个pcnic????