<?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[Thread erstellen]]></title><description><![CDATA[<p>Möchte mit dem Borland Builder einen Thread erstellen, das habe ich auch indem ich auf Datei -&gt; Neu -&gt; Thread gegangen bin. Danach liefert mir Boland folgenden Code:</p>
<pre><code class="language-cpp">__fastcall animation::animation(bool CreateSuspended)
  : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void animation::SetName()
{
  THREADNAME_INFO info;
  info.dwType = 0x1000;
  info.szName = &quot;zusatz&quot;;
  info.dwThreadID = -1;
  info.dwFlags = 0;

  __try
  {
     RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(DWORD),(DWORD*)&amp;info );
  }
  __except (EXCEPTION_CONTINUE_EXECUTION)
  {
  }
}
//---------------------------------------------------------------------------
void __fastcall animation::Execute()
{
  SetName();
  //---- Hier den Thread-Code plazieren----
}
</code></pre>
<p>Wie kann ich jetzt diesen Thread im meiner Main-Funktion starten und wo muss ich den Code hinschreiben, den der Thread ausführen soll. Achso vielleicht noch zu erwähnen es handelt sich bei meinem Programm um eine Konsolenanwendung.<br />
Ich hoffe mir kann jemand weiterhelfen, finde hier im Forum nichts. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77822/thread-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 09:25:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77822.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Jun 2004 17:00:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread erstellen on Thu, 24 Jun 2004 17:00:24 GMT]]></title><description><![CDATA[<p>Möchte mit dem Borland Builder einen Thread erstellen, das habe ich auch indem ich auf Datei -&gt; Neu -&gt; Thread gegangen bin. Danach liefert mir Boland folgenden Code:</p>
<pre><code class="language-cpp">__fastcall animation::animation(bool CreateSuspended)
  : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void animation::SetName()
{
  THREADNAME_INFO info;
  info.dwType = 0x1000;
  info.szName = &quot;zusatz&quot;;
  info.dwThreadID = -1;
  info.dwFlags = 0;

  __try
  {
     RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(DWORD),(DWORD*)&amp;info );
  }
  __except (EXCEPTION_CONTINUE_EXECUTION)
  {
  }
}
//---------------------------------------------------------------------------
void __fastcall animation::Execute()
{
  SetName();
  //---- Hier den Thread-Code plazieren----
}
</code></pre>
<p>Wie kann ich jetzt diesen Thread im meiner Main-Funktion starten und wo muss ich den Code hinschreiben, den der Thread ausführen soll. Achso vielleicht noch zu erwähnen es handelt sich bei meinem Programm um eine Konsolenanwendung.<br />
Ich hoffe mir kann jemand weiterhelfen, finde hier im Forum nichts. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/547326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/547326</guid><dc:creator><![CDATA[bronstein]]></dc:creator><pubDate>Thu, 24 Jun 2004 17:00:24 GMT</pubDate></item><item><title><![CDATA[Reply to Thread erstellen on Fri, 25 Jun 2004 05:28:43 GMT]]></title><description><![CDATA[<p>Hallo bronstein,</p>
<pre><code class="language-cpp">__fastcall animation::animation(bool CreateSuspended)
  : TThread(CreateSuspended)
{
}
</code></pre>
<p>ist der Konstruktor den du mit new benutzen mußt.</p>
<pre><code class="language-cpp">TThread animat;
animat		= new animation (true);
</code></pre>
<p>Execute und Beispiele zu der Funktionsweise eines Thread findest du in der Hilfe wenn du nach TThread suchst. Ein Beispiel für Execute kann sein:</p>
<pre><code class="language-cpp">void __fastcall TSendPosFunk::Execute()
{
	int			ret = 0;		// Fehlercode der Funktionen

	while (!Terminated)		// Endlos-Schleife des Thread
	{
		// Warten auf die Ereignisse
		ret	=	WaitForMultipleObjects(2, FluPosEvent, False, INFINITE);

		// Ein Thread-Ereignis ist aufgetreten?
		switch (ret - WAIT_OBJECT_0)
		{
			case FluPos_Event:
			{
				Synchronize(BearbeiteEreignis);	// Ereignis bearbeiten
			break; }
			// Thread beenden
			case FluPos_End:	{
				Terminate();							// beenden des Thread
			break; }
			default:	{
				// Fehler in den Logfile schreiben
				ErrText-&gt;msgErrorInt
							(2,
							IFEHLER,
							&quot;[TSendPosFunk::Execute]&quot;,
							&quot; Ein unbekanntes Ereignis ist aufgetreten!&quot;);
			break; }
		}			// Ende: switch (ret - WAIT_OBJECT_0)
	}				// Ende: while (!Terminated)
}					// Ende: Funktion
</code></pre>
<p>Gestartet wird ein mit Resume oder mit der Variablen &quot;CreateSuspended&quot; im Konstruktor.</p>
<p>Viel Erfolg<br />
Evi48</p>
]]></description><link>https://www.c-plusplus.net/forum/post/547573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/547573</guid><dc:creator><![CDATA[evi48]]></dc:creator><pubDate>Fri, 25 Jun 2004 05:28:43 GMT</pubDate></item></channel></rss>