<?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[Worker-Threads mit Methoden?]]></title><description><![CDATA[<p>Hallo...</p>
<p>ich möchte in meinem Code eine elegante Lösung bzgl. Worker-Threads realisieren. Das Problem ist, dass ein Worker-Thread immer durch eine Funktion realisiert wird, welche keinen Zugriff auf die Klassenelemente der Erzeugerklasse besitzt. Deshalb muss man die oftmals globale oder modulweite Variablen deklarieren, wenn mehrere Threads auf den gleichen Daten arbeiten. Und wenn man einen Zeiger auf die Erzeugerklasse in den LPVOID-Parameter des Threads steckt, hat man nur Zugriffe auf die public-Methoden/Attribute....</p>
<p>Gibt es irgendwie eine &quot;saubere&quot; Möglichkeit, die Funktion eines Worker-Threads &quot;in den Klassenkontext&quot; zu erheben?</p>
<p>Danke...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/52115/worker-threads-mit-methoden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 31 May 2026 19:40:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/52115.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Oct 2003 12:40:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 12:40:06 GMT]]></title><description><![CDATA[<p>Hallo...</p>
<p>ich möchte in meinem Code eine elegante Lösung bzgl. Worker-Threads realisieren. Das Problem ist, dass ein Worker-Thread immer durch eine Funktion realisiert wird, welche keinen Zugriff auf die Klassenelemente der Erzeugerklasse besitzt. Deshalb muss man die oftmals globale oder modulweite Variablen deklarieren, wenn mehrere Threads auf den gleichen Daten arbeiten. Und wenn man einen Zeiger auf die Erzeugerklasse in den LPVOID-Parameter des Threads steckt, hat man nur Zugriffe auf die public-Methoden/Attribute....</p>
<p>Gibt es irgendwie eine &quot;saubere&quot; Möglichkeit, die Funktion eines Worker-Threads &quot;in den Klassenkontext&quot; zu erheben?</p>
<p>Danke...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373669</guid><dc:creator><![CDATA[Tobias1234]]></dc:creator><pubDate>Thu, 16 Oct 2003 12:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 13:11:18 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wenn ich Dich richtig verstanden habe, willst Du einen non-static Worker-Thread:</p>
<p>Thread aufrufen:</p>
<pre><code class="language-cpp">m_pThread=AfxBeginThread(CallThread, LPVOID(this));
</code></pre>
<p>static-Thread-Methode, ruft eigentlichen Worker-Thread auf:</p>
<pre><code class="language-cpp">UINT CallThread(LPVOID pParam)
{
  ((DeinDlg *)pParam)-&gt;WorkerThread();
  return(0);
}
</code></pre>
<p>Hilft Dir das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373716</guid><dc:creator><![CDATA[Cosmixx]]></dc:creator><pubDate>Thu, 16 Oct 2003 13:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 13:21:33 GMT]]></title><description><![CDATA[<p>also das meintest Du wohl nicht, oder...?</p>
<p>Da WorkerThreads zur Klasse gesehen &quot;externe&quot; Methoden sind, kann ich auch nur die public-Elemente ansprechen.</p>
<p>Will man sie direkt in den Kontext heben, um zumindest auf protected-Elemente zugreifen zu können, müsste (Theorie) der Thread von WinThread und der Klasse selbst abgeleitet sein - was also Mehrfachvererbung bedeuten würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373723</guid><dc:creator><![CDATA[MuehBln]]></dc:creator><pubDate>Thu, 16 Oct 2003 13:21:33 GMT</pubDate></item><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 13:22:38 GMT]]></title><description><![CDATA[<p>Cosmixx schrieb:</p>
<blockquote>
<p>Hallo,<br />
wenn ich Dich richtig verstanden habe, willst Du einen non-static Worker-Thread:</p>
<p>Thread aufrufen:</p>
<pre><code class="language-cpp">m_pThread=AfxBeginThread(CallThread, LPVOID(this));
</code></pre>
<p>static-Thread-Methode, ruft eigentlichen Worker-Thread auf:</p>
<pre><code class="language-cpp">UINT CallThread(LPVOID pParam)
{
  ((DeinDlg *)pParam)-&gt;WorkerThread();
  return(0);
}
</code></pre>
<p>Hilft Dir das?</p>
</blockquote>
<p><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>Das ist ja genau mein Problem: Die Methode &quot;WorkerThread()&quot; muss dann &quot;public&quot; sein. Genau das will ich verhindern... nur wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373724</guid><dc:creator><![CDATA[Tobias1234]]></dc:creator><pubDate>Thu, 16 Oct 2003 13:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 13:26:40 GMT]]></title><description><![CDATA[<p>MuehBln schrieb:</p>
<blockquote>
<p>also das meintest Du wohl nicht, oder...?</p>
<p>Da WorkerThreads zur Klasse gesehen &quot;externe&quot; Methoden sind, kann ich auch nur die public-Elemente ansprechen.</p>
<p>Will man sie direkt in den Kontext heben, um zumindest auf protected-Elemente zugreifen zu können, müsste (Theorie) der Thread von WinThread und der Klasse selbst abgeleitet sein - was also Mehrfachvererbung bedeuten würde.</p>
</blockquote>
<p>Hmm... irgendwie leuchtet das ein... ich wollte mich ein wenig um die MFC-Threads drücken...</p>
<p>Ich habe jetzt eine andere Sache rausgefunden, die aber auch nicht so doll ist: Ich kann eine statische Methode als Worker-Thread laufen lassen... Dann habe ich sogar zugriff auf Klassenelemente. Dummerweise geht das aber nicht mit dynamischen Objekten wie z.B. CList, CString usw... also auch doof...<br />
Hmm... so was dummes aber auch...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373725</guid><dc:creator><![CDATA[Tobias1234]]></dc:creator><pubDate>Thu, 16 Oct 2003 13:26:40 GMT</pubDate></item><item><title><![CDATA[Reply to Worker-Threads mit Methoden? on Thu, 16 Oct 2003 16:52:49 GMT]]></title><description><![CDATA[<p>siehe: <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/373898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373898</guid><dc:creator><![CDATA[noopie]]></dc:creator><pubDate>Thu, 16 Oct 2003 16:52:49 GMT</pubDate></item></channel></rss>