PDA

View Full Version : Queued connection fails on own class



^NyAw^
2nd December 2008, 18:40
Hi,

I'm getting this error on my application



QObject::connect: Cannot queue arguments of type 'CModbusResponse&'
(Make sure 'CModbusResponse&' is registered using qRegisterMetaType().)


CModbusResponse is a class that inherits from CModbusMessage. I have registered the classes with "qRegisterMetaType".
The problem is that the connection returns true if "Qt:DirectConnection" is used, but it returns false if "Qt::QueuedConnection" is used.

The classes have their copy constructor.

Thanks,

jpn
2nd December 2008, 18:44
Are you sure you register the type before calling connect()? Also make sure you didn't try to connect non-const reference parameters.

^NyAw^
2nd December 2008, 18:47
Hi,


Are you sure you register the type before calling connect()? Also make sure you didn't try to connect non-const reference parameters.

Yes, I do it in MainWindow constructor



Also make sure you didn't try to connect non-const reference parameters


I think that are non-const references. How have I to declare them const?

Thanks,

jpn
2nd December 2008, 18:50
I think that are non-const references. How have I to declare them const?
Yes. Parameters of queued signals will be serialized. You cannot pass non-const references as queued signal parameters (nor should you do that with direct signals either).