News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

Got an error that not been able to track down - cbTReeView in RTTI table

Started by jimbo, November 22, 2019, 02:36:27 PM

Previous topic - Next topic

jimbo

Hi, after a year working on other stuff, I am back on a project using c:b. I'm trying to get BlueHazzards cbSystemView plugin working on the latest version of C::B.

I'm getting the following error.

../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "cbTreeCtrl" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?

This used to work on an older C::B, has something changed which means the plugin code needs to be updated in some way? Or is my build broken in some way? My debugging has been fruitless so far.

TIA

Jimbo.

BlueHazzard

Yes as far as i remember there needs to be some rework in the plugin... Hopefully i find some time this weekend...

jimbo

Quote from: BlueHazzard on November 22, 2019, 04:14:59 PM
Yes as far as i remember there needs to be some rework in the plugin... Hopefully i find some time this weekend...

Happy to collaborate on this, but rather inexperienced with C::B.  Did make some changes a year ago, including reformatting the code to C::B coding standards and shuffling code around with some renames of stuff as well. I could push those to your git repo as a PR?

edit: Have dumped most of my changes as a single PR to your github. Rather a mismatch of changes I am afraid. You may wish to ignore, or get what you have going then I can redo what I have done manually. It's mostly just formatting and tidying up some file names etc.


jimbo

Quote from: BlueHazzard on November 22, 2019, 04:14:59 PM
Yes as far as i remember there needs to be some rework in the plugin... Hopefully i find some time this weekend...

Any ideas on this specific issue? Seems to be related to a newer version of C::B, or perhaps a mismatch in libraries somewhere that I have not been able to track down. Once I get past this I hope I can get on with actual stuff!

BlueHazzard

I have tested it this weekend. I was able to compile, but got a runtime error.
I will upload the fixed code to github this evening.
On the machine i used this weekend i probably have a bad compiler setup and for this the runtime errors. I will try again tomorrow with a fresh setup...

I also have updated my other plugin https://github.com/bluehazzard/cbMemoryView that also relays on the memory watch api. I will also upload the new code this evening...

[edit:] I got a different runtime assert as reported by you... Mine was something toolbar related...

jimbo

Just this very second sort out my error. Obviously some hangover from a previous compile - went through and rebuilt everything from scratch as the problem went away. Annoying, as thought I had already done that.

I was getting a toolbar error as well when I first worked on this (year or so ago), cannot remember the exact cause - need to check my code.

BlueHazzard

I use this patch to compile it with wx31_64
There seems to be a problem with the resource loading from  zip files.
I have to investigate future...

BlueHazzard

With this patch i can run the plugin without errors. I am not able to test it with hardware until thursday, but i think it should work....

I wonder what wxWidgets changed with the filesystem handling, that this slash is not needed....

BlueHazzard

I can confirm, that with the latest patch the plugin works as expected, tested with STM32 Arm controller

jimbo

Quote from: BlueHazzard on November 29, 2019, 07:59:04 PM
I can confirm, that with the latest patch the plugin works as expected, tested with STM32 Arm controller

Great stuff. Only looking at this in my spare time, so a bit slow to get things done, but have sent another PR and have a few others incoming which just do some non-functional code tidying, prior to some real work!