<?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[CreateThread - Übergabe funktioniert nicht ganz...]]></title><description><![CDATA[<p>Hi,<br />
Ich sitzt hier gerade vor einem Problem(warum würd ich auch sonst fragen?^^)<br />
Also mein Programm soll ein paar Sachen gleichzeitig machen, daher werde ich MultiThreads nutzten. Das Problem ist nur, dass ich die richtige Übergabe bei CreateThread(); nicht hinbekomme. Das Ganze sieht bisher so aus:</p>
<pre><code class="language-cpp">...
void Banner (HANDLE hCon)
{
    //HANDLE brauch ich für spätere Zwecke in der Funktion...
    std :: cout &lt;&lt; &quot;Ich bin ein Banner&quot; &lt;&lt; std :: endl;
}
...
int main()
{
  . . . 
  HANDLE BannerThread =           
  CreateThread(NULL,0,Banner,HANDLE(GetStdHandle(STD_OUTPUT_HANDLE)),0,);
  //Bisher alles so Richtig? Der letzte Wert- was muss da nun hin?
  . . .
}
</code></pre>
<p>Wenn was falsch ist immer raus damit, habs nach dem besten Wissen und der msdn Einträgen versucht...</p>
<p>Danke schonmal...</p>
<p>p.s. muss man, wenn sie das Programm beenden die Threads eigentlich wieder killn/löschen/speicher freigeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178192/createthread-übergabe-funktioniert-nicht-ganz</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 15:53:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178192.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Apr 2007 20:37:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Sun, 08 Apr 2007 20:38:17 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich sitzt hier gerade vor einem Problem(warum würd ich auch sonst fragen?^^)<br />
Also mein Programm soll ein paar Sachen gleichzeitig machen, daher werde ich MultiThreads nutzten. Das Problem ist nur, dass ich die richtige Übergabe bei CreateThread(); nicht hinbekomme. Das Ganze sieht bisher so aus:</p>
<pre><code class="language-cpp">...
void Banner (HANDLE hCon)
{
    //HANDLE brauch ich für spätere Zwecke in der Funktion...
    std :: cout &lt;&lt; &quot;Ich bin ein Banner&quot; &lt;&lt; std :: endl;
}
...
int main()
{
  . . . 
  HANDLE BannerThread =           
  CreateThread(NULL,0,Banner,HANDLE(GetStdHandle(STD_OUTPUT_HANDLE)),0,);
  //Bisher alles so Richtig? Der letzte Wert- was muss da nun hin?
  . . .
}
</code></pre>
<p>Wenn was falsch ist immer raus damit, habs nach dem besten Wissen und der msdn Einträgen versucht...</p>
<p>Danke schonmal...</p>
<p>p.s. muss man, wenn sie das Programm beenden die Threads eigentlich wieder killn/löschen/speicher freigeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261933</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Sun, 08 Apr 2007 20:38:17 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Sun, 08 Apr 2007 20:53:12 GMT]]></title><description><![CDATA[<p>etwa so:</p>
<pre><code>DWORD __stdcall Banner (void *p)
{
    ...
    return 0;  // wert für GetExitCodeThread() zurückgeben
} 

int main()
{
    DWORD thread_id;  // unique thread id
    HANDLE BannerThread = CreateThread (NULL,0,Banner, 0,0, &amp;thread_id); 
}
</code></pre>
<p>für gewöhnlich solltest du das thread-handle schliessen, wenn du es nicht mehr braucht.<br />
den STD_OUTPUT_HANDLE brauchst du nicht weiterreichen, weil der prozessweit der gleiche ist (kann sogar sein, dass es immer ein konstanter wert ist)<br />
wenn du ausgaben machst (printf, cout, ect.), dann benutz' aber besser '_beginthread()'<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1261943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1261943</guid><dc:creator><![CDATA[vista]]></dc:creator><pubDate>Sun, 08 Apr 2007 20:53:12 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Sun, 08 Apr 2007 22:50:02 GMT]]></title><description><![CDATA[<p>Ahh, danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Aber den Handle muss ich sehr warhscheinlich doch mit übergeben, da ich je nach dem auf verschiedenen Konsolen zeichne. Ok warum - vllt(steht noch nicht fest) brauch ich ne 2. Konsole und je nach dem wie schnell das Programm ist muss ich mit DoubleBuffering arbeiten und dann muss ich ja immer zwischen Aktive und inaktive Konsole wechseln können...<br />
Aber das muss ich nochmal schauen^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262011</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Sun, 08 Apr 2007 22:50:02 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Mon, 09 Apr 2007 06:55:45 GMT]]></title><description><![CDATA[<p>hi</p>
<p>2 konsolen fuer einen prozess? geht das ueberhaupt ?<br />
dachte immer das man pro prozess nur eine konsole verwenden kann.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262057</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 09 Apr 2007 06:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Mon, 09 Apr 2007 07:03:10 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>2 konsolen fuer einen prozess? geht das ueberhaupt ?<br />
dachte immer das man pro prozess nur eine konsole verwenden kann.</p>
</blockquote>
<p>jo, da liegst du auch richtig. unter windows gibts nur max. eine console pro prozess.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262058</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Mon, 09 Apr 2007 07:03:10 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Mon, 09 Apr 2007 08:16:09 GMT]]></title><description><![CDATA[<p>Aber ich kann doch eine 2. Konsole erstwellen und dort was drin machen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262066</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Mon, 09 Apr 2007 08:16:09 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Mon, 09 Apr 2007 08:44:34 GMT]]></title><description><![CDATA[<p>nein, pro prozess nur eine konsole. du müsstest einen zweiten prozess starten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262080</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Mon, 09 Apr 2007 08:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Übergabe funktioniert nicht ganz... on Mon, 09 Apr 2007 08:50:22 GMT]]></title><description><![CDATA[<p>Hmm na dann...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262083</guid><dc:creator><![CDATA[Pille456]]></dc:creator><pubDate>Mon, 09 Apr 2007 08:50:22 GMT</pubDate></item></channel></rss>