PDA

View Full Version : QThread::start() doesn't invoke run() method



seim
5th February 2009, 17:35
Hi, please give an advice in this case:

There is an class inheritance hierarchy:
QThread -> BaseThread -> Itf (abstract) -> ... -> Interface (abstract) -> Implementation,
where BaseThread reimplements run() method of QThread() and from run() method should be called some virtual protected methods implemented in Implementation class. When I call start() method from constructor of Implementation instance, the BaseThread::run() in not executed(i am sure with this).
The question is why and where could be error?

Some notes:
* BaseThread is implemented in one shared library, Itf in second shared library, Interface and Implementation in third library. The project can be successfully compiled, linked, libraries are loaded without any problems from the main aplication.
* Creating simple Test : public BaseThread is functional and run() is invoked.
* run() or start() methods are not reimplemented in the project, except BaseThread::run()
* All constructors all called in the proper way.

I would appreciate any advice.

wysota
5th February 2009, 17:55
Can we see some code? How are you sure it is not executed?

seim
5th February 2009, 18:09
Oh, sorry, my fault. I forget reimplementation of run() in one class inherited in side branch of class inheritance tree.