<?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 fuer ein Bitte Warten dialog]]></title><description><![CDATA[<p>Heiho</p>
<p>ne kurze frage haette ich</p>
<p>und zwar, wenn ich ein &quot;Bitte Warten&quot; dialog machen moechte, waer es doch das beste es in einen thread aus zu lagern</p>
<p>ich hab bissl rumgesurvt und gelesen und hab einmal oberflaechenthread und workerthread gefunden</p>
<p>ich wuerde das so machen wollen</p>
<p>pseudocode:</p>
<pre><code>klick auf button
in der funktion dann
AfxBeginThread()
    CDialogDingsbums cd;
    cd.DoModal();
AfxEndThread();
</code></pre>
<p>nu bin ich der meinung - so einfach wird das nicht gehen, private versuchen brachten bisher nichts</p>
<p>was haettet ihr fuer ein tipp fuer mich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165965/thread-fuer-ein-bitte-warten-dialog</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 03:30:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165965.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Nov 2006 17:37:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 17:37:34 GMT]]></title><description><![CDATA[<p>Heiho</p>
<p>ne kurze frage haette ich</p>
<p>und zwar, wenn ich ein &quot;Bitte Warten&quot; dialog machen moechte, waer es doch das beste es in einen thread aus zu lagern</p>
<p>ich hab bissl rumgesurvt und gelesen und hab einmal oberflaechenthread und workerthread gefunden</p>
<p>ich wuerde das so machen wollen</p>
<p>pseudocode:</p>
<pre><code>klick auf button
in der funktion dann
AfxBeginThread()
    CDialogDingsbums cd;
    cd.DoModal();
AfxEndThread();
</code></pre>
<p>nu bin ich der meinung - so einfach wird das nicht gehen, private versuchen brachten bisher nichts</p>
<p>was haettet ihr fuer ein tipp fuer mich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180872</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 24 Nov 2006 17:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 17:56:07 GMT]]></title><description><![CDATA[<p>ähm warum sollte das deiner meinung nach nicht so einfach gehn.</p>
<p>ich würde sagen das geht so einfach</p>
<p>was willst du den komplizierter machen ?? <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>New Edit:<br />
das einzigste was ich anderst machen würde ich würde den start des Thread</p>
<p>AfxBeginThread auserhalb der funktion setzen in der du den 2ten dialog startest. und von der threadfunktion von der du in AfxBeginthread verweist auf die funktion verweisen die den dialog öffnet;</p>
<p>verwirrt???<br />
beispiel:</p>
<pre><code>static DWORD m_dwThreadExitCode;

void C...Dlg::OnButtonKlick()
{

    AfxBeginThread(thrFunction, this);
}

UINT C..Dlg:: thrFunction(LPVOID pParam)
{
    C..Dlg* pDlg = (C...Dlg*) pParam;

    ::GetExitCodeThread(pDlg, &amp;m_dwThreadExitCode);

    OpenDlgFunktion(); 

return 0;
}

void C...DLg::OpenDlgFunktion()
{
    CNewDlg NewDlg;
    if(NewDlg.DoModal()==IDOK)
    {

    }
    AfxEndThread(m_dwThreadExitCode,TRUE);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1180876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180876</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Fri, 24 Nov 2006 17:56:07 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 17:49:10 GMT]]></title><description><![CDATA[<p>Naja, ich würde es genau umgekehrt machen: Dialog ganz normal darstellen, wie sonst auch. Aber die lange Aufgabe/Berechnung in einen Thread auslagern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180879</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 24 Nov 2006 17:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 18:16:23 GMT]]></title><description><![CDATA[<p>danke LowFly ich werds spaeter ausprobieren sobald ich zeit find - sieht sehr vielversprechend aus {=</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a> - an sich schon richtig - nur mein ziel ist es das man das dialog anzeigen lassen kann aber das hauptfenster weiterhin normal zu bedienen ist (das bitte warten ist eigentlich nur ein beispiel)</p>
<p>zuerst dacht ich - erstelle ich des dialog mit create und werd es dann irgendwann zerstoeren sobald es notwendig ist - nur ich bi noch im MFC lern prozess, und mitlerweile schon sehr weit gekommen das ich dacht - fang mit threads an, aber als ersten mit einfachen die ich in meinem projekt auch verbinden kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180884</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 24 Nov 2006 18:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 18:21:59 GMT]]></title><description><![CDATA[<p>ich habs zwar noch nie probiert aber,<br />
aber ich wage es zu bezweifeln das du mit DoModal selbst in einem Thread zugriff auf das Hauptfenster erhälst.</p>
<p>wenn du nebenher das Hauptfenster bedienen willst ist wie du schon sagts Create die richtige wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180888</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Fri, 24 Nov 2006 18:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 18:53:58 GMT]]></title><description><![CDATA[<p>hab ich auch grad rausgefunden - hab den code zum laufen gebracht - ich wuerd das gern nu mit diesen &quot;Bitte Warten&quot; verbinden, ich hab eine dialogbox in den thread erstellt - nu frag ich mich aber gerade - wie zerstoere ich das fenster wieder - bzw woher weiss der thread das er beendet werden kann ?!</p>
<pre><code class="language-cpp">void COwnDoc::OnFunktion()
{
	CShowLog ShowLogDlg;
	ShowLogDlg.m_csFileName = m_cLog.m_csFileName;
	ShowLogDlg.DoModal();
	PleaseWait();	
}
static DWORD m_dwThreadExitCode;
void COwnDoc::PleaseWait()
{
	::AfxBeginThread(thrFunction, this);
}
UINT COwnDoc::thrFunction(LPVOID pParam)
{
	COwnDoc* pDlg = (COwnDoc*)pParam;
	::GetExitCodeThread(pDlg, &amp;m_dwThreadExitCode);
	OpenDlgFunktion(); 
	return 0;
}
void COwnDoc::OpenDlgFunktion()
{
	CPleaseWait pleaseWait;
	pleaseWait.DoModal();
	::AfxEndThread(m_dwThreadExitCode,TRUE); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1180900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180900</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 24 Nov 2006 18:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 19:06:34 GMT]]></title><description><![CDATA[<p>ich glaub ich hab grad was kapiert</p>
<p>wenn das hauptprogramm im hintergrund arbeiten soll - aber ein &quot;dialog&quot; auf bitte warten hinweisen soll</p>
<p>sollte das dialog mit create erstellt werden und dann sobald es fertig ist wieder zerstoert werden</p>
<p>entweder das oder man lagert nicht das dialog in dem thread aus sondern diese aktion die das bitte warten ausloest in nem thread aber frag mich dann grad wann und wo ich dann das bitte warten aufruf</p>
<p>aber ich glaub ich machs doch mit dem create - #gg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180911</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 24 Nov 2006 19:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 19:28:26 GMT]]></title><description><![CDATA[<p>hmm ne andere möglichkeit wäre zB CreateDialog zu verwenden, das gibt dir nen HWND zurück, das könntest du verwenden um im thread zb in ner schleife oder gleich in der Callback funktion des CreateDialog das HWND abfragen ob es noch gültig ist. ist es noch gültig existiert der Dialog, ist es ungültig endet der thread.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180924</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Fri, 24 Nov 2006 19:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Thread fuer ein Bitte Warten dialog on Fri, 24 Nov 2006 19:48:47 GMT]]></title><description><![CDATA[<p>ich hab das jetzt so gemacht</p>
<p>eine funktion &quot;PleaseWait();&quot; und eine &quot;EndWait();&quot; in der please erstell ich es per create und in der end zerstoer ich das dann wieder, das brauch ich dann &quot;nur&quot; noch an den richtigen positionen setzen -</p>
<p>koennte nun ein fortschrittsbalken darin versehen in nem eigenen thread - das so hin und her pendelt oder so, einfach damit man sieht das noch was passiert {=</p>
<p>vielen dank - wieder was gelernt {=</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180935</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 24 Nov 2006 19:48:47 GMT</pubDate></item></channel></rss>