Hello,
whenever I declare a component as a member variable in my own component, a Debug Error occurs after my destructor is called. What am I doing wrong?
My class definition looks like this: (only included relevant stuff)

class bciMenu : public bciIMenu
{
public:
NS_DECL_ISUPPORTS
NS_DECL_BCIIMENU

bciMenu();
virtual ~bciMenu();

private:
PRUint8 mClassCount;
//nsSupportsArray mElementArray;
//nsCOMArray<nsIDOMElement> mElementArray;
//nsCOMPtr<nsISupportsArray> mElementArray;
//nsVoidArray mElementArray;
PRUint16 mCurPos;
};

Uncommenting either of these lines gives the following message when my destructor is called:
"Microsoft Visual C++ Debug Library
Debug Error!
DAMAGE: after Normal block (#180427) at 0x036EB568"

On entering the debugger, I see that the call stack looks like this:
_free_dbg_lk
free
operator delete
bciMenu:: 'scalar deleting destructor
bciMenu::Release

To me it looks like some object is trying to be freed too often! But I am not doing anything to mElementArray in my code so I don't see what is going wrong. Maybe someone has experienced this and can shed some light on the matter? Thanks! Michael


Reply via email to