<?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 anhalten, bis anderer thread fertig....]]></title><description><![CDATA[<p>hi, ich rufe aus einem dialog einen thread auf, der eine modale dialogbox anzeigt.<br />
Nun möchte ich den thread des AUFRUFENDEN Dialogs solange anhalten, bis der Thread mit der modalen dialogbox beendet ist.<br />
Kann mir bitte jemand einen Tip geben.</p>
<p>PS: ich muss die dialogbox in einem eigenen thread ausgeben - das hat schon seinen grund.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81205/thread-anhalten-bis-anderer-thread-fertig</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 12:20:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81205.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Jul 2004 08:04:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 08:04:14 GMT]]></title><description><![CDATA[<p>hi, ich rufe aus einem dialog einen thread auf, der eine modale dialogbox anzeigt.<br />
Nun möchte ich den thread des AUFRUFENDEN Dialogs solange anhalten, bis der Thread mit der modalen dialogbox beendet ist.<br />
Kann mir bitte jemand einen Tip geben.</p>
<p>PS: ich muss die dialogbox in einem eigenen thread ausgeben - das hat schon seinen grund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570709</guid><dc:creator><![CDATA[joe84]]></dc:creator><pubDate>Thu, 29 Jul 2004 08:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 08:39:18 GMT]]></title><description><![CDATA[<p>nach dem starten des zweiten threads ruft der erste einfach 'WaitForSingleObject (handle_des_neuen_threads, INFINITE)' auf. wenn der zweite thread beendet wird, macht der erste dann weiter.</p>
<p>btw: für unabhängige dialogboxen in 2 threads brauchst du auch 2 message queues (das ist nicht einfach), sonst kannst du die zweite box nicht bedienen, wenn du die erste anhälst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570731</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 29 Jul 2004 08:39:18 GMT</pubDate></item><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 08:41:37 GMT]]></title><description><![CDATA[<p>joe84 schrieb:</p>
<blockquote>
<p>hi, ich rufe aus einem dialog einen thread auf, der eine modale dialogbox anzeigt.<br />
Nun möchte ich den thread des AUFRUFENDEN Dialogs solange anhalten, bis der Thread mit der modalen dialogbox beendet ist.<br />
Kann mir bitte jemand einen Tip geben.</p>
<p>PS: ich muss die dialogbox in einem eigenen thread ausgeben - das hat schon seinen grund.</p>
</blockquote>
<p>Hallo,</p>
<p>dazu habe ich eine Frage: läuft der aufrufende Dialog ebenfalls in einem eigenen Thread oder ist der MainThread dafür zuständig?<br />
Ich wurschtel auch gerade mit Threads in Dialogfenstern rum und habe da ähnliche Probleme. In einem Buch haben die mal vorgeschlagen, ein CEvent-Ereignis im Thread zu definieren. Das kann man dan mit den Methoden SetEvent und ResetEvent dafür benutzen, um zu Überprüfen, ob der Thread läuft oder nicht. Habe allerdings noch nicht so viel Erfahrung damit, möglicherweise hilft Dir das gar nicht weiter....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570734</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 29 Jul 2004 08:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 09:24:18 GMT]]></title><description><![CDATA[<p>also, ich starte den thread mit einem event<br />
und sofort danach habe ich ein waitforsingleobject mit infinte aufgerufen.<br />
ich habe reindebuggt und ich komme auch zum domodal im thread, allerdings wird der dialog nicht angezeigt.<br />
nehme ich das waitforsingleobject raus - wird zwar der dialog angezeigt , aber der aufrufende dialog wartet nun nicht auf mich....<br />
ich steh voll auf dem schlauch........ <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>
<pre><code class="language-cpp">CAufrufenderDialog::CAufrufenderDialog()
{
    AfxBeginThread(MyDialogThread,NULL,THREAD_PRIORITY_BELOW_NORMAL);
}

// startet nun den thread und soll warten, bis dieser fertig ist
int CAufrufenderDialog::StartThread()
{
    m_gEventStartMyDialogThread.SetEvent();
    WaitForSingleObject(m_gEventEnd,INFINITE);
    return m_gnResult;
}

// thread - static member
UINT CAufrufenderDialog::MyDialogThread(LPVOID WinObjPtr)
{
	WaitForSingleObject(m_gEventStartMyDialogThread,INFINITE);
	CSubDialog dlg(m_gpParent);
	m_gnResult = dlg.DoModal();
	m_gEventEnd.SetEvent();
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/570764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570764</guid><dc:creator><![CDATA[joe84]]></dc:creator><pubDate>Thu, 29 Jul 2004 09:24:18 GMT</pubDate></item><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 09:40:48 GMT]]></title><description><![CDATA[<p>so......... nun hab ichs endlich gebacken bekommen.</p>
<p>falls es jemand interessiert:</p>
<p>Das stimmt so nicht:</p>
<pre><code class="language-cpp">// startet nun den thread und soll warten, bis dieser fertig ist
int CAufrufenderDialog::StartThread()
{
    m_gEventStartMyDialogThread.SetEvent();
    WaitForSingleObject(m_gEventEnd,INFINITE);
    return m_gnResult;
}
</code></pre>
<p>sondern so:</p>
<p>// startet nun den thread und soll warten, bis dieser fertig ist<br />
int CAufrufenderDialog::StartThread()<br />
{<br />
m_gEventStartMyDialogThread.SetEvent();</p>
<p>MSG msg;</p>
<p>while(1)<br />
{<br />
if(!WaitForSingleObject(m_gEventEnd,10))<br />
break;<br />
if(PeekMessage(&amp;msg,0,0,0,PM_REMOVE))<br />
{<br />
TranslateMessage(&amp;msg);<br />
DispatchMessage(&amp;msg);<br />
}<br />
}<br />
return m_gnResult;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570782</guid><dc:creator><![CDATA[joe84]]></dc:creator><pubDate>Thu, 29 Jul 2004 09:40:48 GMT</pubDate></item><item><title><![CDATA[Reply to thread anhalten, bis anderer thread fertig.... on Thu, 29 Jul 2004 10:23:23 GMT]]></title><description><![CDATA[<p>genauso oder ählich hatte ich das auch gemeint, hatte mich nur nich so richtig ausgedrückt; damit kann man ja auch breitschlagen, dass man verhindert, das mehrere Threads laufen wenn dies nicht gewollt ist....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570822</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Thu, 29 Jul 2004 10:23:23 GMT</pubDate></item></channel></rss>