<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[QObject::connect error &#x2F; Make sure &#x27;...&#x27; is registered using qRegisterMetaType()]]></title><description><![CDATA[<p dir="auto">Hey there,</p>
<p dir="auto">for now I'am not really experienced in developing with Qt.<br />
I develop a little program that captures video from an external device. When I start the the program, it is running, but when I press the start button which should start the capture VS prints the following message to the console:</p>
<pre><code>QObject::connect: Cannot queue arguments of type 'CComPtr&lt;IDeckLinkVideoFrame&gt;'
(Make sure 'CComPtr&lt;IDeckLinkVideoFrame&gt;' is registered using qRegisterMetaType().)
</code></pre>
<p dir="auto">I read about qRegisterMetaType() and try to implement it in the constructor of both classes, like this:</p>
<pre><code>qRegisterMetaType&lt;IDeckLinkVideoFrame*&gt;("IDeckLinkVideoFrame*");
</code></pre>
<p dir="auto">I also create a register function in an initializing class and call the function in the constructors too. I still get the error message.</p>
<p dir="auto">In the programm I use connect for the frame transfer:</p>
<pre><code>QObject::connect(m_emitFrame, &amp;VideoScreenHelper::FrameChanged, this, &amp;VideoScreen::HandleFrame, Qt::AutoConnection);
</code></pre>
<p dir="auto">FrameChanged is emitted in a function that is supported from the DeckLink API. This function should draw the video to the screen.</p>
<pre><code>/**
* The method is called on every incoming frame and is derived from the IDeckLinkScreenPreviewCallback
*/
HRESULT VideoScreenHelper::DrawFrame(IDeckLinkVideoFrame* theFrame) {

	emit FrameChanged(CComPtr&lt;IDeckLinkVideoFrame&gt; (theFrame));
	return S_OK;
}
</code></pre>
<p dir="auto">HandleFrame() manages the setup of the frame.</p>
<pre><code>void VideoScreen::HandleFrame(CComPtr&lt;IDeckLinkVideoFrame&gt; theFrame) {
	if (m_previewHelper != nullptr) {
		m_previewHelper-&gt;SetFrame(theFrame);
	}
}
</code></pre>
<p dir="auto">Can someone of you tell me what is going wrong here? It is still confusing...</p>
]]></description><link>https://forum.qt.io/topic/130584/qobject-connect-error-make-sure-is-registered-using-qregistermetatype</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 23:08:24 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/130584.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Sep 2021 09:58:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to QObject::connect error &#x2F; Make sure &#x27;...&#x27; is registered using qRegisterMetaType() on Sat, 25 Sep 2021 17:15:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/makopo">@<bdi>makopo</bdi></a></p>
<p dir="auto">As <a class="plugin-mentions-user plugin-mentions-a" href="/user/christian-ehrlicher">@<bdi>Christian-Ehrlicher</bdi></a> said above, you need to register the complete type (in your case <code>CComPtr&lt;IDeckLinkVideoFrame&gt;</code>).</p>
]]></description><link>https://forum.qt.io/post/682116</link><guid isPermaLink="true">https://forum.qt.io/post/682116</guid><dc:creator><![CDATA[Pl45m4]]></dc:creator><pubDate>Sat, 25 Sep 2021 17:15:38 GMT</pubDate></item><item><title><![CDATA[Reply to QObject::connect error &#x2F; Make sure &#x27;...&#x27; is registered using qRegisterMetaType() on Sat, 25 Sep 2021 10:03:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/makopo">@<bdi>makopo</bdi></a> said in <a href="/post/682085">QObject::connect error / Make sure '...' is registered using qRegisterMetaType()</a>:</p>
<blockquote>
<p dir="auto">CComPtr&lt;IDeckLinkVideoFrame&gt;<br />
Make sure 'CComPtr&lt;IDeckLinkVideoFrame&gt;' is registered using qRegisterMetaType().</p>
</blockquote>
<blockquote>
<p dir="auto">qRegisterMetaType&lt;IDeckLinkVideoFrame*&gt;("IDeckLinkVideoFrame*");</p>
</blockquote>
<p dir="auto">This is not what the error message told you.</p>
]]></description><link>https://forum.qt.io/post/682087</link><guid isPermaLink="true">https://forum.qt.io/post/682087</guid><dc:creator><![CDATA[Christian Ehrlicher]]></dc:creator><pubDate>Sat, 25 Sep 2021 10:03:08 GMT</pubDate></item></channel></rss>