@tudi_x:
I fully agree with you that the wiki is not always the best place to look and indeed information is scattered all over. I've worked on several open source projects that suffer the same 'limitation', so i am a bit used to it by now...
Also threads are not one of my strongest points so i would not advise myself to add to the wiki (otherwise i would).
Fortunately for me, i sometimes have the luxury to do what i advised in my earlier post and just 'toy' around.
As a small hint that you could perhaps apply inside your own code:
do many logging, showing you each and every handled event/method/etc, and you can learn a lot from that. It can be helpful, especially when dealing with threads and more so when using inheritance in general (sometimes events/calls happen in a complete different order than you imagined it would).
I've applied the same technique to debug your code (so basically doing your work
), using writeln's to see where exactly your code got stuck, then looked for the cause, fix it, and run again (until i'm able to read back all my writeln's).
When you do this from the start of your development on a new subject, then you can 'build your way up'. When you add something new (and fail) it will show immediately. It's the simplest of debug techniques available that anyone should be able to apply and understand.
(in production code i used to use the same technique, but using debugout, turned off by default but can be activated in case of troubles, either manually or automated detection).