<?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 (Wie bekomme ich das hin?)]]></title><description><![CDATA[<p>Hallo an alle.<br />
Kann mir einer sagen wie Threads funktionieren?<br />
Ich habe ein konkretes Problem!</p>
<p>Ich habe eine &quot;*.lib&quot; erstellt in der es zwei klassen gibt.<br />
auf die eine (CInteraktion) kann von außen zugegriffen werden (int leseStatus())diese wiederum soll eine funktion in der zweiten Klasse (CAbfrage) starten. Bei dieser Funktion soll ein Thread gestartet werden, der mir permanent ein array (int a[32]) neu beschreibt.</p>
<p>So. Jetzt an die spezies unter euch. Wie mach ich das?</p>
<p>Derzeit siht meine Funktion so aus!</p>
<pre><code class="language-cpp">int CInteraktion::LesePermanent()
{
	CAbfrage bla;

	m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)bla.Watch,
		(UNIT) this, 
		THREAD_PRIORITY_NORMAL,
		0,CREATE_SUSPENDED );

	m_pWatchThread-&gt;ResumeThread();
	return 1;
}
// Folgende Funktion soll ständig (als Thread) laufen.

UNIT CAbfrage::Watch(LPVOID pParam)
{
CInteraktion versuch;

         do 
	{
		int i=0;

		for(i=0;i&lt;32;i++)
		versuch.m_a[i]= 0 + ( rand() % (1 - 0 + 1));

		Sleep(100);	

	} while (TRUE);
	return 0;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/62415/thread-wie-bekomme-ich-das-hin</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 22:24:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/62415.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Jan 2004 08:01:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Fri, 23 Jan 2004 08:01:31 GMT]]></title><description><![CDATA[<p>Hallo an alle.<br />
Kann mir einer sagen wie Threads funktionieren?<br />
Ich habe ein konkretes Problem!</p>
<p>Ich habe eine &quot;*.lib&quot; erstellt in der es zwei klassen gibt.<br />
auf die eine (CInteraktion) kann von außen zugegriffen werden (int leseStatus())diese wiederum soll eine funktion in der zweiten Klasse (CAbfrage) starten. Bei dieser Funktion soll ein Thread gestartet werden, der mir permanent ein array (int a[32]) neu beschreibt.</p>
<p>So. Jetzt an die spezies unter euch. Wie mach ich das?</p>
<p>Derzeit siht meine Funktion so aus!</p>
<pre><code class="language-cpp">int CInteraktion::LesePermanent()
{
	CAbfrage bla;

	m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)bla.Watch,
		(UNIT) this, 
		THREAD_PRIORITY_NORMAL,
		0,CREATE_SUSPENDED );

	m_pWatchThread-&gt;ResumeThread();
	return 1;
}
// Folgende Funktion soll ständig (als Thread) laufen.

UNIT CAbfrage::Watch(LPVOID pParam)
{
CInteraktion versuch;

         do 
	{
		int i=0;

		for(i=0;i&lt;32;i++)
		versuch.m_a[i]= 0 + ( rand() % (1 - 0 + 1));

		Sleep(100);	

	} while (TRUE);
	return 0;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/442360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442360</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Fri, 23 Jan 2004 08:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Fri, 23 Jan 2004 10:14:03 GMT]]></title><description><![CDATA[<p>Ich verweise dich einfach mal auf den folgenden link, da steht eigentlich alles beschrieben: <a href="http://www.henkessoft.de/mfc_einsteigerbuch_kapitel17.htm" rel="nofollow">http://www.henkessoft.de/mfc_einsteigerbuch_kapitel17.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/442432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442432</guid><dc:creator><![CDATA[rekursiv]]></dc:creator><pubDate>Fri, 23 Jan 2004 10:14:03 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Fri, 23 Jan 2004 10:29:13 GMT]]></title><description><![CDATA[<p>hier der beispielcode aus meiner http dll</p>
<pre><code class="language-cpp">//threadhandel
HANDLE hFileGrabber=NULL;

//thread erstellen
if(NULL==(hFileGrabber=CreateThread(NULL,CurrentFileSize*5,GrabHtmlFile,(LPVOID)this,NULL,NULL)))
		return SaveLastError(::GetLastError(),&quot;Fehler beim Aufsetzen des Download Threads!&quot;);

//threadfunc
DWORD WINAPI GrabHtmlFile(LPVOID Control)
{
return (DWORD)Control;
}
//schließen
if(hFileGrabber)
	{
		if(!CloseHandle(hFileGrabber))
		{
			return SaveLastError(::GetLastError(),&quot;Fehler beim schließen des Threads!&quot;);
		}
		hFileGrabber=NULL;
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/442449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442449</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Fri, 23 Jan 2004 10:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Fri, 23 Jan 2004 12:03:41 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>haedfinger schrieb:</p>
<blockquote>
<p>Kann mir einer sagen wie Threads funktionieren?</p>
</blockquote>
<p>Du kannst entweder eine Klasse von CWinThread ableiten oder du erstellst eine Threadfunktion nach dem Schema: UINT ThreadFunc(LPVOID)</p>
<p>haedfinger schrieb:</p>
<blockquote>
<p>auf die eine (CInteraktion) kann von außen zugegriffen werden (int leseStatus())diese wiederum soll eine funktion in der zweiten Klasse (CAbfrage) starten. Bei dieser Funktion soll ein Thread gestartet werden, der mir permanent ein array (int a[32]) neu beschreibt.</p>
</blockquote>
<p>Hab ich nicht so ganz verstanden. Meinst du sowas:<br />
CInteraktion::leseStatus ruft CAbfrage::Funktion auf CAbfrage::Funktion startet einen neuen Thread?</p>
<pre><code class="language-cpp">int CInteraktion::LesePermanent()
{
	CAbfrage bla;
	m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)bla.Watch,
		(UNIT) this, 
		THREAD_PRIORITY_NORMAL,
		0,CREATE_SUSPENDED );

	m_pWatchThread-&gt;ResumeThread();
	return 1;
}
// Folgende Funktion soll ständig (als Thread) laufen.

UNIT CAbfrage::Watch(LPVOID pParam)
{
CInteraktion versuch;

         do 
	{
		int i=0;

		for(i=0;i&lt;32;i++)
		versuch.m_a[i]= 0 + ( rand() % (1 - 0 + 1));

		Sleep(100);	

	} while (TRUE);
	return 0;}
</code></pre>
<p>Achso, der Quellcode verdeutlicht dein Problem.</p>
<p>Um eine Methode als Threadfunktion nutzen zu können, muss sie mit static deklariert sein. Leider kannst du dann auch <strong>nur</strong> auf statische Methoden/Membervariablen zugreifen.<br />
Eine (unsaubere) Möglichkeit um <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="😉"
    /> <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="😉"
    /> in der Threadfunktion auf das CInteraktion und CAbfrage Objekt gleichzeitig zugreifen zu können wäre eine Struktur zu verwenden:</p>
<pre><code class="language-cpp">typedef struct ThreadParam_
{
 CInteraktion* pInteraktion;
 CAbfrage* pAbfrage;
} ThreadParam;
int CInteraktion::LesePermanent()
{
	CAbfrage* bla = new CAbfrage; // CAbfrageobjekt erstellen
	ThreadParam param;
	param.pInteraktion = this;
	param.pAbfrage = bla;
	m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)CAbfrage::Watch,
		param, 
		THREAD_PRIORITY_NORMAL,
		0,CREATE_SUSPENDED );

	m_pWatchThread-&gt;ResumeThread();
	return 1;
}
// Folgende Funktion soll ständig (als Thread) laufen.

static UNIT CAbfrage::Watch(LPVOID pParam)
{
	ThreadParam Param = (ThreadParam) pParam;

         do 
	{
		int i=0;

		for(i=0;i&lt;32;i++)
		Param-&gt;pInteraktion.m_a[i]= 0 + ( rand() % (1 - 0 + 1));

		Sleep(100);	

	} while (TRUE);
	return 0;}
</code></pre>
<p>Allerdings musst du dich darum kümmern, dass das CAbfrage Objekt noch irgendwo gelöscht wird.</p>
<p>Ich hoffe ich habe dich richtig verstanden <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>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/442508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/442508</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Fri, 23 Jan 2004 12:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Mon, 26 Jan 2004 11:59:28 GMT]]></title><description><![CDATA[<p>Hey Rapha.<br />
Danke.<br />
Als ich mir das Tutorial durchgelesen hab, bekam ich auch mit, das meine Funktion &quot;static&quot; sein muß. Wie blöd!!!</p>
<p>Das mit der Struktur ist eine coole Lösung.<br />
Ich habe viel gebastelt, aber es nicht hinbekommen.</p>
<p>-----<br />
Habe es jetzt versucht, aber bekomme noch nen Fehler. (Natürlich wieder an meiner lieblingsstelle.)</p>
<p>Fehler: Durch keine der 2 Ueberladungen kann Parameter 2 vom Typ 'struct ThreadParam_' konvertiert werden</p>
<pre><code class="language-cpp">m_pWatchThread = AfxBeginThread ( (AFX_THREADPROC)CIOAbfrage::WatchIO, 
==&gt;		 param,  
			THREAD_PRIORITY_NORMAL, 
==&gt;	 	0,CREATE_SUSPENDED );
	pThread-&gt;ResumeThread();
</code></pre>
<p>==&gt; = In diesen Zeile ist der Fehler</p>
<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="😕"
    /> (Immer das gleiche)</p>
<p>Ach und warum muß ich das CAbfrage Objekt löschen?<br />
Meinst du sowas wie: delete Param?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444097</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Mon, 26 Jan 2004 11:59:28 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Mon, 26 Jan 2004 17:16:03 GMT]]></title><description><![CDATA[<p>haedfinger schrieb:</p>
<blockquote>
<pre><code class="language-cpp">m_pWatchThread = AfxBeginThread ( (AFX_THREADPROC)CIOAbfrage::WatchIO, 
==&gt;		 param,  
			THREAD_PRIORITY_NORMAL, 
==&gt;	 	0,CREATE_SUSPENDED );
	pThread-&gt;ResumeThread();
</code></pre>
<p>==&gt; = In diesen Zeile ist der Fehler</p>
</blockquote>
<p>Hm, versuchs mal mit</p>
<pre><code class="language-cpp">m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)CAbfrage::Watch, 
        (LPVOID) param,  
        THREAD_PRIORITY_NORMAL, 
        0,CREATE_SUSPENDED );
</code></pre>
<p>haedfinger schrieb:</p>
<blockquote>
<p>Ach und warum muß ich das CAbfrage Objekt löschen?<br />
Meinst du sowas wie: delete Param?</p>
</blockquote>
<p>Du hast doch mit</p>
<pre><code class="language-cpp">CAbfrage* bla = new CAbfrage; // CAbfrageobjekt erstellen
</code></pre>
<p>ein Objekt erzeugt. Das musst du dann auch löschen (am Besten du machst ne Membervariable draus, erstellst sie im Konstruktor und löschst sie im Destruktor)<br />
Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444520</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Mon, 26 Jan 2004 17:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 08:55:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)CAbfrage::Watch,  
        (LPVOID) param,   
        THREAD_PRIORITY_NORMAL,  
        0,CREATE_SUSPENDED );
</code></pre>
<p>Das gibt dann diesen Fehler.</p>
<p>error C2440: 'type cast' : 'struct ThreadParam_' kann nicht in 'void *' konvertiert werden</p>
<p>Ich bin echt am verzweifeln.<br />
Warum wird es einem so schwer gemacht einen Thread zu erstellen?</p>
<p>------<br />
Ich dachte ein Objekt wird sowieso gelöscht,wenn der destruktor aufgerufen wird.<br />
Außerdem komm ich nicht klar mit der membervariable.<br />
Bei einem Dialog war es ja recht einfach.</p>
<pre><code class="language-cpp">m_testDlg.Create(IDD_TEST, this);
// dann irgendwann
 m_testDlg.EndDialog(IDOK);
 m_testDlg.DestroyWindow();
 delete m_testDlg;
</code></pre>
<p>und fertig.</p>
<p>Aber hier ist dasnicht so einfach, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444908</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 08:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 08:48:18 GMT]]></title><description><![CDATA[<p>m_pWatchThread = AfxBeginThread( (AFX_THREADPROC)CAbfrage::Watch,<br />
(LPVOID) &amp;param,<br />
THREAD_PRIORITY_NORMAL,<br />
0,CREATE_SUSPENDED );</p>
<p>und gut is <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/444931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444931</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 08:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 08:48:57 GMT]]></title><description><![CDATA[<p>Nur mal ein kurzer Einwurf. Wenn ich einen Thread erstelle, benutze ich <em>_beginthreadex</em>.<br />
Schon mal damit probiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444933</guid><dc:creator><![CDATA[Maffe001]]></dc:creator><pubDate>Tue, 27 Jan 2004 08:48:57 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 09:34:34 GMT]]></title><description><![CDATA[<p>@ sovok<br />
Ja. Hab ich auch schon versucht. Dann wiederum gibt es hier einen Fehler...</p>
<pre><code class="language-cpp">UINT CAbfrage::Watch( LPVOID pParam )
{
==&gt;	ThreadParam Param = (ThreadParam) pParam;
//...
	for(int i=0;i&lt;32;i++)
	Param-&gt;pInteraktion.m_iAktuell[i] = 1 ;//0 + ( rand() % (1 - 0 + 1));
//...
</code></pre>
<p>... und zwar diesen. ==&gt;<br />
error C2440: 'type cast' : 'void *' kann nicht in 'struct ThreadParam_' konvertiert werden</p>
<p>Wenn ich das jetzt auch verändere in:</p>
<pre><code class="language-cpp">UINT CIOAbfrage::WatchIO( LPVOID pParam )
{
	ThreadParam* Param = (ThreadParam*) pParam;
		for(int i=0;i&lt;32;i++)
		Param-&gt;pInteraktion-&gt;m_iAktuell[i] = 1 ;//0 + ( rand() % (1 - 0 + 1));
</code></pre>
<p>Dann hab ich zwar keinen einzigen Fehler mehr, aber ich bekomme einen ganz fiesen Fehler beim Ausführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/444976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/444976</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 09:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 11:17:51 GMT]]></title><description><![CDATA[<p>natürlich bekommst du einen fiesen fehler beim ausführen<br />
der code is aber richtig</p>
<p>ThreadParam *Param = (ThreadParam*) pParam; //threadfunktion<br />
zeigt auf<br />
ThreadParam param; //LesePermanent() funktion</p>
<p>was passiert mit<br />
ThreadParam param; //LesePermanent() funktion<br />
wenn du die funktion fertig durchlaufen hast?</p>
<p>für ne richtige antwort bekommst du die lösung <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/445061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445061</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 11:24:17 GMT]]></title><description><![CDATA[<p>Mit durchlaufen der Funktion endet mein Gültigkeitsbereich!<br />
??????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445068</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:24:17 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 11:33:36 GMT]]></title><description><![CDATA[<p>richtig<br />
das bedeutet<br />
ThreadParam param; //LesePermanent() funktion<br />
wird gelöscht und<br />
ThreadParam *Param = (ThreadParam*) pParam; //threadfunktion<br />
zeigt auf ein objekt das nicht mehr existiert</p>
<p>lösung: mach ThreadParam param; zu ner membervariable von CAbfrage</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445081</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:33:36 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 11:51:35 GMT]]></title><description><![CDATA[<p>Ich bin ja glücklich, das ich (mit deiner hilfe) gesehen hab das der Gültigkeitsbereich endet, aber jetzt steh ich auf dem Schlauch.</p>
<p>Hab ich das richtig verstanden?<br />
Ich soll im CAbfrage eine membervariable z.B. m_tp vom typ ThreadParam_ anlegen?<br />
Und dann? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/445092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445092</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 11:59:38 GMT]]></title><description><![CDATA[<p>ne natürlich in der CInteraktion, sorry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445094</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 11:59:38 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 12:34:58 GMT]]></title><description><![CDATA[<p>hab ich gemacht. Wie es aussieht aber mal zur abwechslung Falsch. <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 />
muß doch nur die Variable &quot;m_tp&quot; da einsetzen wo vorher param stand, oder.</p>
<p>Jedenfals ging es so nicht und ich habe es wieder zurückgeändert, wobei ich jetzt angeblich einen Fehler in der Struktur habe und eine Neudefinition und noch 17 weitere Fehler.<br />
Muß erstmal schauen, woran das liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445137</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 12:55:04 GMT]]></title><description><![CDATA[<p>warum ging es so nich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445160</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 12:55:04 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 13:36:36 GMT]]></title><description><![CDATA[<p>Ich habe die Struktur</p>
<pre><code class="language-cpp">typedef struct ThreadParam_
{ 
 CInteraktion* pInteraktion;
 CIOAbfrage* pAbfrage;
}ThreadParam;
</code></pre>
<p>In eine Extra Haeder Datei. &quot;Struktur.h&quot;<br />
Diese habe ich dann jeweils in &quot;Interaktion.cpp&quot; und in der &quot;Abfrage.cpp&quot; eingebunden.<br />
Aus irgendeinen Grund stand das aufeinmal in der &quot;Abfrage.h&quot;.</p>
<pre><code class="language-cpp">#include &quot;Struktur.h&quot;	// Hinzugefügt von der Klassenansicht
</code></pre>
<p>Das gab nen crash.<br />
-----<br />
Was soll ich nun machen? die Membervariable kann ich knicken, weil die Struktur bis dahin unbekannt ist.<br />
Und wenn ich si vorher einbinde gibt es wieder nen crash</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445203</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Tue, 27 Jan 2004 13:36:36 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Tue, 27 Jan 2004 13:53:03 GMT]]></title><description><![CDATA[<p>ich benutz keine structs<br />
also mach mal aus der struct ne klasse</p>
<p>class ThreadParam<br />
{<br />
public:<br />
CInteraktion* pInteraktion;<br />
CIOAbfrage* pAbfrage;<br />
};</p>
<p>binde den header in die cpps ein und in den anderen headern schreibst du nur class ThreadParam;</p>
<p>#ifndef<br />
#define</p>
<p>#endif<br />
nich vergessen</p>
<p>dann probiers nochmal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445229</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 27 Jan 2004 13:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 08:10:33 GMT]]></title><description><![CDATA[<p>(Schade das du keine Strukturen nutzt. Ich fand den Ansatz von Rapha gut.)</p>
<p>Alles gemacht! jetzt ist nurnoch die Klasse nicht definiert.</p>
<p>error C2079: 'm_tp' verwendet undefiniertes class 'ThreadParam'</p>
<p>habe aber &quot;class ThreadParam;&quot; vor die Klasse geschrieben.<br />
Liegt es an der Klasse selbst? Wußte nicht was ich hier schreiben sollte:</p>
<p>#ifndef ...<br />
#define ...</p>
<p>#endif</p>
<p>Bei mir sieht es so aus. (Struktur.h)</p>
<pre><code class="language-cpp">#ifndef ThreadParam
#define run

class ThreadParam
{ 
public:
 CInteraktion* pInteraktion;
 CIOAbfrage* pAbfrage;
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/445843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445843</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Wed, 28 Jan 2004 08:10:33 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 09:40:16 GMT]]></title><description><![CDATA[<p>#ifndef _H__ThreadParam__H_ //falls dieser header noch nich eingebunden wurde<br />
#define _H__ThreadParam__H_ //binde ihn jetzt ein</p>
<p>class ThreadParam<br />
{<br />
public:<br />
CInteraktion* pInteraktion;<br />
CIOAbfrage* pAbfrage;<br />
};</p>
<p>#endif //andernfalls überspringe ihn</p>
<p>wenn du das nich machst kann es sein, dass du den mehrfachdeklaration-fehler bekommst</p>
<p>ausserdem musst du den header mit #include in die cpp files einbinden</p>
<p>bzgl. error C2079: 'm_tp' verwendet undefiniertes class 'ThreadParam'<br />
d.h. dass du auf membervariablen oder memberfunktionen zugegriffen hast ohne vorher den header einzubinden</p>
<p>class cBlah;<br />
cBlah einBlah;// OK<br />
einBlah.func();//Fehler<br />
#include &quot;cBlah.h&quot;<br />
einBlah.func();//OK</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445901</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 28 Jan 2004 09:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 10:07:33 GMT]]></title><description><![CDATA[<p>In die beiden cpp's hab ich sie schon eingebunden (Interaktion.cpp , Abfrage.cpp)</p>
<p>Soll es auch in die StdAfx.cpp ?</p>
<p>Außerdem hab ich wie du es sagtest &quot;class ThreadParam;&quot; direkt vor die Klassendefinitionen in (Interaktion.h , Abfrage.h) geschrieben.<br />
Gibt natürlich auch einen Fehler.</p>
<p>error C2079: 'm_tp' verwendet undefiniertes class 'ThreadParam'</p>
<p>Ich glaub wenn das gelöst ist sollte es gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445926</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Wed, 28 Jan 2004 10:07:33 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 10:15:35 GMT]]></title><description><![CDATA[<p>ne in die StdAfx muss es nich<br />
was passiert wenn du statt &quot;class ThreadParam;&quot; den header einbindest?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445933</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 28 Jan 2004 10:15:35 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 10:34:27 GMT]]></title><description><![CDATA[<p>Ein Fehler in meiner Klasse. ---EDIT + weiter 15</p>
<pre><code class="language-cpp">class ThreadParam
{ 
public:
 CInteraktion* pInteraktion;   &lt;====
 CIOAbfrage* pAbfrage;
};
</code></pre>
<p>error C2143: Syntaxfehler : Fehlendes ';' vor '*'</p>
<p>---EDIT<br />
Bei der anderen Variante hatte ich nur 5 Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445949</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Wed, 28 Jan 2004 10:34:27 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 10:32:46 GMT]]></title><description><![CDATA[<p>schreib mal in deinen ThreadParam header nach dem #define</p>
<p>class CInteraktion;<br />
class CIOAbfrage;</p>
<p>jetzt müssts aber langsam mal gehn oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445954</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 28 Jan 2004 10:32:46 GMT</pubDate></item><item><title><![CDATA[Reply to Thread (Wie bekomme ich das hin?) on Wed, 28 Jan 2004 10:46:34 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Es Geht. Glaub ich zumindest. Es wird zwar noch nicht das gemacht was ich will, aber es läuft wie es aussieht.</p>
<p>Vielen Dank.</p>
<p>Kann ich noch irgendwie überprüfen ob der Thread läuft?<br />
Außer Debug?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/445963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/445963</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Wed, 28 Jan 2004 10:46:34 GMT</pubDate></item></channel></rss>