<?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[Memberfunktion als Thread?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will eine Memberfunktion meiner Klasse als Threadfunktion verwenden.<br />
Den Thread will ich mit beginthreadex starten, das sieht etwa so aus:</p>
<pre><code class="language-cpp">_beginthreadex(0,0,Memberfunktion,0,0,&amp;thread_Id);
</code></pre>
<p>Nur jetzt braucht man als dritte Argument ein</p>
<pre><code class="language-cpp">unsigned (__stdcall *__start)(void *)
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> auf die entsprechende Memberfunktion. Besonders da Memberfunktionen (bzw. deren Zeiger) ja eh noch so ne Sache für sich sind, bin ich jetzt leider total überfordert.</p>
<p>Wäre nett wenn mir jemand den richtigen Weg weisen kann, damit diese Thread funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77561/memberfunktion-als-thread</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:44:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77561.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2004 11:25:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 11:25:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will eine Memberfunktion meiner Klasse als Threadfunktion verwenden.<br />
Den Thread will ich mit beginthreadex starten, das sieht etwa so aus:</p>
<pre><code class="language-cpp">_beginthreadex(0,0,Memberfunktion,0,0,&amp;thread_Id);
</code></pre>
<p>Nur jetzt braucht man als dritte Argument ein</p>
<pre><code class="language-cpp">unsigned (__stdcall *__start)(void *)
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> auf die entsprechende Memberfunktion. Besonders da Memberfunktionen (bzw. deren Zeiger) ja eh noch so ne Sache für sich sind, bin ich jetzt leider total überfordert.</p>
<p>Wäre nett wenn mir jemand den richtigen Weg weisen kann, damit diese Thread funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545718</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 11:25:09 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 11:34:05 GMT]]></title><description><![CDATA[<p>Noch zur Ergänzung, ich starte den Thread aus der Klasse raus (also einer anderen Memberfunktion)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545730</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 11:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 11:42:28 GMT]]></title><description><![CDATA[<p>Die Member-Funktion muss static sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545741</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Tue, 22 Jun 2004 11:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 11:44:08 GMT]]></title><description><![CDATA[<p>Wenn möglich einfach die Funktion static machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/545744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545744</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 22 Jun 2004 11:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 11:54:45 GMT]]></title><description><![CDATA[<p>hmm, jetzt kommt die Fehlermeldung:<br />
Konvertierung von 'void (*)(void *)' nach 'unsigned int (__stdcall *)(void *)' nicht möglich<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
davor waren es aber mehr Fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545764</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 11:54:45 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 12:55:21 GMT]]></title><description><![CDATA[<p>Die Calling-Convention deiner Thread-Funktion stimmt auch nicht, es muss __stdcall sein. In der Deklaration nach dem Return-Typ einfach CALLBACK einfügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545784</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Tue, 22 Jun 2004 12:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 13:55:32 GMT]]></title><description><![CDATA[<p>Danke für die Hilfe,<br />
ich hab es jetzt mit CreateThread gemacht:</p>
<pre><code class="language-cpp">CreateThread(0,0,(LPTHREAD_START_ROUTINE) Elementfunktion,0,0,(LPDWORD)&amp;thread_Id);
</code></pre>
<p>das funktioniert eigentlich.</p>
<p>Nur da es jetzt statisch ist, kann ich dort dummerweise keine nichtstatischen Elementvariablen mehr verwenden.<br />
Ich werd die jetzt irgendwie als Referenz (im struct) oder so übergeben müssen.. oder gibts da noch eine andere Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545804</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 13:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 14:10:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">CreateThread(0,0,Elementfunktion,this,0,&amp;thread_Id);
</code></pre>
<p>dann castest du in der Thread-Funktion den void* Parameter wieder in einen this-Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545816</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Tue, 22 Jun 2004 14:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 14:40:40 GMT]]></title><description><![CDATA[<p>das hört sich sehr gut an, aber ich hab wohl nicht so die Ahnung was das casten von this angeht. Egals was ich mache, es steht dort immer:<br />
'this' kann nur für Elementfunktionen verwendet werden<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Vieleicht könntet ihr mir den kleinen &quot;cast code&quot; gerade zeigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/545847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545847</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 14:40:40 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 16:12:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">static DWORD CALLBACK MyThread(LPVOID pParam)
{
	MyClass* p = static_cast&lt;MyClass*&gt;(pParam);
	//...
}
</code></pre>
<p>oder du könntest Folgendes machen:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
HANDLE CreateThreadT(DWORD (CALLBACK *pfn) (T*), T* p, LPDWORD lpThreadId)
{
	return ::CreateThread(0,0,reinterpret_cast&lt;LPTHREAD_START_ROUTINE&gt;(pfn),p,0,lpThreadId);
}

//...

CreateThreadT(MyThread,this,&amp;dwThreadId);
</code></pre>
<p>und die Deklaration deiner Thread-Methode würde dann so aussehen:</p>
<pre><code class="language-cpp">static DWORD CALLBACK MyThread(MyClass* p);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/545887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545887</guid><dc:creator><![CDATA[Shlo]]></dc:creator><pubDate>Tue, 22 Jun 2004 16:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Memberfunktion als Thread? on Tue, 22 Jun 2004 17:28:43 GMT]]></title><description><![CDATA[<p>super, danke! Jetzt lüft alles schön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/545935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/545935</guid><dc:creator><![CDATA[gunther]]></dc:creator><pubDate>Tue, 22 Jun 2004 17:28:43 GMT</pubDate></item></channel></rss>