CCB_MEMBERVARIABLEASSIGNER_GLUE Exceptions on Win32 (Cocos Builder)


#1

I thought this might be useful to someone else on the forum.

I was getting an exception with this trace — but ONLY on Win32. Code runs fine on Mac, Linux, Android and iPhone…

>   libcocos2d.dll!cocos2d::CCObject::release()  Line 81 + 0x3 bytes    C++
    HeroesOfSteel.win32.exe!CCBNewGame::onAssignCCBMemberVariable(cocos2d::CCObject * pTarget, cocos2d::CCString * pMemberVariableName, cocos2d::CCNode * pNode)  Line 56 + 0x8d bytes  C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraph(cocos2d::CCNode * pParent)  Line 570 + 0x3a bytes  C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraph(cocos2d::CCNode * pParent)  Line 586 + 0xc bytes   C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraph()  Line 690    C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readFileWithCleanUp(bool bCleanUp)  Line 323 + 0x8 bytes C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraphFromData(cocos2d::extension::CCData * pData, cocos2d::CCObject * pOwner, const cocos2d::CCSize & parentSize, cocos2d::extension::CCBAnimationManager * * ppAnimationManager)  Line 230 + 0xa bytes  C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraphFromFile(const char * pCCBFileName, cocos2d::CCObject * pOwner, const cocos2d::CCSize & parentSize, cocos2d::extension::CCBAnimationManager * * ppAnimationManager)  Line 213 + 0x18 bytes  C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraphFromFile(const char * pCCBFileName, cocos2d::CCObject * pOwner, const cocos2d::CCSize & parentSize)  Line 198   C++
    HeroesOfSteel.win32.exe!cocos2d::extension::CCBReader::readNodeGraphFromFile(const char * pCCBFileName, cocos2d::CCObject * pOwner)  Line 192 + 0x57 bytes  C++
    HeroesOfSteel.win32.exe!CCBNewGameScene::init()  Line 25 + 0x11 bytes   C++

I was looking line by line at this:
2d-2.0-x-2.0.4\samples\TestCpp\Classes\ExtensionsTest\CocosBuilderTest\HelloCocosBuilder\HelloCocosBuilderLayer.cpp

And the constructor was different than mine:

HelloCocosBuilderLayer::HelloCocosBuilderLayer()
: mBurstSprite(NULL)
, mTestTitleLabelTTF(NULL)
{}

So — for me, a reminder to really look at the samples closely before starting to code.

Took me about an hour to figure it out, and it was frustrating. Figured this might save someone time.


#2

Thanks, this solved my problem.