<?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[Funktionen im Hintergrund laufen lassen ?]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich möchte einen Live Ticker bei meinem Programm laufen lassen.<br />
Beim Drücken eines Buttons in einem Dialog, soll ein Timer gestartet werden, der alle Secunde was macht.</p>
<p>Wenn ich nun aber in der Class des Dialoges dies mache, bleibt mein Programm mit dem Dialog ja stehen.</p>
<p>Ich möchte aber, dass er dies im Hintergrund des Programmes laufen lässt.</p>
<p>Wo muß ich jetzt die Funktion aufrufen und in welcher class ??<br />
In der CProjektView ??</p>
<p>Gruß<br />
und Danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/69985/funktionen-im-hintergrund-laufen-lassen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 12:02:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/69985.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Apr 2004 13:54:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Fri, 02 Apr 2004 13:54:42 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich möchte einen Live Ticker bei meinem Programm laufen lassen.<br />
Beim Drücken eines Buttons in einem Dialog, soll ein Timer gestartet werden, der alle Secunde was macht.</p>
<p>Wenn ich nun aber in der Class des Dialoges dies mache, bleibt mein Programm mit dem Dialog ja stehen.</p>
<p>Ich möchte aber, dass er dies im Hintergrund des Programmes laufen lässt.</p>
<p>Wo muß ich jetzt die Funktion aufrufen und in welcher class ??<br />
In der CProjektView ??</p>
<p>Gruß<br />
und Danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/493866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/493866</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Fri, 02 Apr 2004 13:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Fri, 02 Apr 2004 14:04:03 GMT]]></title><description><![CDATA[<p>Hi!<br />
Nun dazu brauchst du Threads.</p>
<pre><code class="language-cpp">thread = CreateThread(NULL, 0, startThread, this, 0, &amp;threadID);
</code></pre>
<p>Gibt einen Handle zurück. &quot;startThread&quot; ist die Funktion in dem der neue Thread starten soll. Z.B:</p>
<pre><code class="language-cpp">DWORD WINAPI startThread(LPVOID pParam)
</code></pre>
<pre><code class="language-cpp">WaitForSingleObject(thread,INFINITE);
</code></pre>
<p>Lässt den Hauptthread warten, bis der Thread mit dem Handle &quot;thread&quot; mit return 0 beendet worden ist.</p>
<p>Achtung schreiben 2 Threads gleichzeitig an die gleiche Adresse, dann kann es zu unerwünschten Nebenwirkungen kommen. Deshalb müssen 2 Threads in einem solchen Fall synchronisiert werden z.B. mit CCriticalSection.</p>
<p>Falls noch was unklar ist, dann schreib. Muss jetzt aber auf den Zug <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>Grz daboss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/493875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/493875</guid><dc:creator><![CDATA[daboss]]></dc:creator><pubDate>Fri, 02 Apr 2004 14:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Fri, 02 Apr 2004 14:13:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank für die schnelle Antwort.</p>
<p>ABer wo muß ich diese Funktion aufrufen und wo Deklarieren ??</p>
<p>Gruß und Danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/493884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/493884</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Fri, 02 Apr 2004 14:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Fri, 02 Apr 2004 14:37:13 GMT]]></title><description><![CDATA[<p>Die funktion startThread muss eine globale Funktion sein, die du dann an den Thread übergibst. In deinem Fall wird es wohl eine Endlosschleife sein. Dann musst du den Thread von außen beenden.<br />
Du kannst den Thread übrigens auch mit AfxBeginThread() starten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/493898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/493898</guid><dc:creator><![CDATA[CLoop]]></dc:creator><pubDate>Fri, 02 Apr 2004 14:37:13 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 10:32:19 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>sorry, ich komme da immer noch nicht klar.</p>
<p>In welcher Classe soll ich denn diese Globale Funktion aufrufen ?<br />
Und wo rufe ich den meine eigene Funktion im Thread auf, die mein z.b. Mein File durchsucht ??</p>
<p>Könnte mir jemand ein etwas genaueres Beispiel Source zeigen ??</p>
<p>Vielen Dank<br />
Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495251</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Mon, 05 Apr 2004 10:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 10:40:05 GMT]]></title><description><![CDATA[<p>da der thread vermutlich zu deinem dialog gehören soll in der art</p>
<p>im header deiner dialogklasse fügst du bei den members folgendes hinzu</p>
<pre><code class="language-cpp">int flag;
static DWORD MyThreadRoutine(LPVOID);
HANDLE h_MyThreadRoutine;
</code></pre>
<p>z.b. in OnInitDialog schmeisst du dann den Thread an</p>
<pre><code class="language-cpp">flag=0;
h_MyThreadRoutine=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MyThreadRoutine, (LPVOID)this, 0, NULL);
</code></pre>
<p>dann schreibst du noch deine threadroutine</p>
<pre><code class="language-cpp">DWORD MyDlg::MyThreadRoutine(LPVOID lparam){

MyDlg*dp = ((MyDlg*)lparam); //damit du zugriff auf die members deines dialoges hast
while(!dp-&gt;flag){ //wenn du das flag dann irgendwann auf nicht 0 setzt (z.b. weil der user was geklickt hat, springt der thread aus der schleife und wird beendet...
//... hier ballerst du das rein was der thread machen soll
}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/495255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495255</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Mon, 05 Apr 2004 10:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 11:53:45 GMT]]></title><description><![CDATA[<p>Hallo Windalf,</p>
<p>vielen Dank für dein Posting, deine anweisung funktioniert.</p>
<p>Allerdings noch nicht ganz so wie ich mir das vor gestellt habe.</p>
<p>Ich habe eine SDI Projekt erstelt. In diesem gibt ein Menüpunkt in dem ich ein Dialog aufrufe.<br />
In diesem Dialog habe ich zur ansicht eine ID Nr eines Servers und einen File Pfad dazu.</p>
<p>Jetzt möchte ich gerne, dass ich auf einen Butten drücke, und er soll mir eine Funktion starten, die z.b. das File nach kriterien andauernd durchsucht.</p>
<p>Beim schließen des Dialoges soll das Durchsuchen nicht beendet werden.<br />
Erst nach dem ich wieder das Dialog aufrufe und einen weiteren Butten klicke der dann stop regelt.</p>
<p>Des weiteren sollen mehrere Fils Durchsucht werden, sprich es gibt mehrere Server ID und Pfadangaben, die ich mit der selben Funktion durchsuchen lasse.</p>
<p>Gibt es dazu eine lösung mit deiner Beschreibung ??</p>
<p>Gruß und vielen Dank<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495327</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Mon, 05 Apr 2004 11:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 11:59:52 GMT]]></title><description><![CDATA[<p>also wenn du den dialog erstellst und wieder killst musst du ja sicherstellen das der so lange existiert bis der mit seiner arbeit fertig ist...</p>
<p>also ne fertige lösung kann ich dir nicht bieten aber es gibt da bestimmt mehrere Lösungsansätze was man da machen kann...</p>
<p>man könnte z.b. den dialog nur einmal erstellen... wenn man ihn gerade nich haben will dann wird der auf unsichtbar gesetzt und an sonsten halt wieder auf sichtbar...<br />
dann würde auch der thread im hintergrund weiterlaufen auch wenn du schon wieder dabei bist irgendwas anderes zu machen...</p>
<p>wenn der noch weiterarbeiten soll obwohl dein dialog schon geschlossen ist, kannst du daraus kein member deines dialoges machen... es sei denn du wartest mit dem schliessen bis der fertig ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495336</guid><dc:creator><![CDATA[Windalf]]></dc:creator><pubDate>Mon, 05 Apr 2004 11:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 12:10:59 GMT]]></title><description><![CDATA[<p>mmmhhh.....</p>
<p>kann man nicht die threads z.b. in der CProjectDoc anlegen, in meinem Dialog holle ich mir die classe CProjectDoc her, setzte z.b. die flag auf 0, gebe noch meine ID des Servers mit und das Ding rennt dann ??</p>
<p>Mal so als Theori gedacht ??</p>
<p>Gruß<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495361</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Mon, 05 Apr 2004 12:10:59 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 15:08:00 GMT]]></title><description><![CDATA[<p>Hallo, noch mal ich.</p>
<p>ich rufe ja jetzt mit:</p>
<pre><code class="language-cpp">h_MyThreadRoutine=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MyThreadRoutine, (LPVOID)this, 1, NULL);
</code></pre>
<p>den thread auf.</p>
<p>Im Thread rufe ich ein funktion auf, die einen int parameter benötigt.</p>
<p>Wie kann ich dem oberen aufruf jetzt diesen parameter mitgeben ??</p>
<p>Gruß und danke<br />
andy_mann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495586</guid><dc:creator><![CDATA[andy_mann]]></dc:creator><pubDate>Mon, 05 Apr 2004 15:08:00 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen im Hintergrund laufen lassen ? on Mon, 05 Apr 2004 18:28:58 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>entweder du verwendest eine globale Variable oder du machst eine eigene Struktur/Klasse, die du als Parameter übergibst.</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/495773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/495773</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Mon, 05 Apr 2004 18:28:58 GMT</pubDate></item></channel></rss>