<?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[methode einer klasse aus einem thread heraus aufrufen]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe eine dialogbasierte MFC-Anwendung und ein problem!<br />
ich möchte aus einen thread heraus eine methode meiner klasse<br />
aufrufen! ich habe es so gemacht:</p>
<pre><code>// ich habe ein struct erstellt wo informationen inhalten sind welche der thread benötigt!
struct test()
{
   CMyClass* p;
}
struct test tester;

...

// das ist einfach die thread-funktion. sie wird irgendwann aus einer mehtode meiner classe aufgerufen
void thread-funktion()
{
   tester.p-&gt;OnCloseClient();
}

...

// in einer methode meiner klasse mache ich dann folgendes
tester.p=this;
CreateThread(...thread-funktion...);
</code></pre>
<p>wenn ich es so mache kommt leider ein laufzeitfehler mit sehr<br />
wenig informationen!</p>
<p><strong>Fakt ist: wenn ich die funktion &quot;thread-funktion&quot; nicht als thread<br />
sondern normal aufrufe klappt alles perfekt!!</strong></p>
<p>warum ist das so?<br />
danke euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154350/methode-einer-klasse-aus-einem-thread-heraus-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 16:06:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154350.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Jul 2006 13:17:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to methode einer klasse aus einem thread heraus aufrufen on Wed, 26 Jul 2006 13:17:29 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe eine dialogbasierte MFC-Anwendung und ein problem!<br />
ich möchte aus einen thread heraus eine methode meiner klasse<br />
aufrufen! ich habe es so gemacht:</p>
<pre><code>// ich habe ein struct erstellt wo informationen inhalten sind welche der thread benötigt!
struct test()
{
   CMyClass* p;
}
struct test tester;

...

// das ist einfach die thread-funktion. sie wird irgendwann aus einer mehtode meiner classe aufgerufen
void thread-funktion()
{
   tester.p-&gt;OnCloseClient();
}

...

// in einer methode meiner klasse mache ich dann folgendes
tester.p=this;
CreateThread(...thread-funktion...);
</code></pre>
<p>wenn ich es so mache kommt leider ein laufzeitfehler mit sehr<br />
wenig informationen!</p>
<p><strong>Fakt ist: wenn ich die funktion &quot;thread-funktion&quot; nicht als thread<br />
sondern normal aufrufe klappt alles perfekt!!</strong></p>
<p>warum ist das so?<br />
danke euch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104616</guid><dc:creator><![CDATA[Babelduos Geist]]></dc:creator><pubDate>Wed, 26 Jul 2006 13:17:29 GMT</pubDate></item><item><title><![CDATA[Reply to methode einer klasse aus einem thread heraus aufrufen on Fri, 28 Jul 2006 07:36:14 GMT]]></title><description><![CDATA[<p>also wieso gibt es da einen unterschied zwischen<br />
dem normalen ablauf der funktion und dem ablauf als thread??</p>
<p>:-|</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105861</guid><dc:creator><![CDATA[Babelduos Geist]]></dc:creator><pubDate>Fri, 28 Jul 2006 07:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to methode einer klasse aus einem thread heraus aufrufen on Fri, 28 Jul 2006 08:02:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hast Du schonmal debugged und geschaut wo genau der Laufzeitfehler auftritt. Vielleicht kommt OnCloseClient() einfach nicht damit klar, dass es aus einem Thread heraus aufgerufen wird.<br />
Warum machst Du Deine struct tester global und übergibst Sie nicht Deinem Thread? Beim Aufruf des Thread kannst Du doch einen Parameter als Pointer übergeben. Oder gleich Deinen this-Pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1105892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1105892</guid><dc:creator><![CDATA[Cosmixx]]></dc:creator><pubDate>Fri, 28 Jul 2006 08:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to methode einer klasse aus einem thread heraus aufrufen on Fri, 28 Jul 2006 12:05:09 GMT]]></title><description><![CDATA[<p>ja klar ich mache das ja gerade auch nur testweise und wollte schaun<br />
ob mein vorhaben klappt oder nicht.</p>
<p>ja der Fehler tritt bei dem Aufruf der Methode auf</p>
<p>aber wieso kommt der fehler nur wenn ich die methode aus der als<br />
thread gestarteten funktion aufrufe, und nicht wenn ich die funktion<br />
normal aufrufe?</p>
<p>warum kommt die methode damit nicht klar?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1106096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1106096</guid><dc:creator><![CDATA[Babelduos Geist]]></dc:creator><pubDate>Fri, 28 Jul 2006 12:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to methode einer klasse aus einem thread heraus aufrufen on Fri, 28 Jul 2006 13:59:20 GMT]]></title><description><![CDATA[<p>Ist Deine CMyClass vielleicht ein CWnd-Objekt?<br />
Es ist immer problematisch, auf diese von einem anderen Thread aus zuzugreifen.</p>
<p>Du hast immernoch nicht gesagt, wo der Fehler genau auftritt? Steppe mal mit dem Debugger in die Methode. Oder direkt beim Aufruf? Ist der tester-Pointer NULL?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1106190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1106190</guid><dc:creator><![CDATA[Cosmixx]]></dc:creator><pubDate>Fri, 28 Jul 2006 13:59:20 GMT</pubDate></item></channel></rss>