<?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[DoModal(); ausgetrickst. Aber ich will das doch garnicht!]]></title><description><![CDATA[<p>wahrscheinlich ein typischer Anfängerfehler. Ich hab mich irgendwie selbst reingelegt</p>
<p>In meiner Klasse CEinlesenDlg habe ich die Funktion Protokol(), welche korrekt mit m_DStoffliste.DoModal(); ein neues Dialogfenster öffnet.</p>
<pre><code class="language-cpp">void CEinlesenDlg::Protokol()
{
	PKontaktLabeo m_PKontakt(this);
	int keinStoff= m_PKontakt.FindStoff();

	//+--------------------------------------------------------------------------+
	//+ Wenn es Stoff gibt der nicht, oder nicht ausreichen da ist, dann Anzeigen+
	//+--------------------------------------------------------------------------+
	if (keinStoff!=0)							
	{
		DStoffliste m_DStoffliste(this);
		m_DStoffliste.DoModal();
	}
}
</code></pre>
<p>ich rufe diese Fkt jedoch aus einer anderen Klasse (mit eigenem Dialogfenster) auf m_pPar-&gt;Protokol(); auch das funktioniert. Leider hat das neue Dialogfenster nicht mehr die normalen Eigenschaften von DoModal(). ich kann nämlich einfach auf das Fenster von DVST_Beschreibung Beschreibung gehen und ein zweites Fenster von DStoffliste öffnen.</p>
<pre><code class="language-cpp">DVST_Beschreibung::DVST_Beschreibung(CWnd* pParent /*=NULL*/)
	: CDialog(DVST_Beschreibung::IDD, pParent)
{
	m_pPar	= (CEinlesenDlg*)pParent;
	//{{AFX_DATA_INIT(DVST_Beschreibung)
		// HINWEIS: Der Klassen-Assistent fügt hier Elementinitialisierung ein
	//}}AFX_DATA_INIT

}

void DVST_Beschreibung::OnVSTProtokolle() 
{

	OnVSTSpeichern();

	m_pPar-&gt;Protokol();
}
</code></pre>
<p>Wie kann ich dieses verhindern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/61465/domodal-ausgetrickst-aber-ich-will-das-doch-garnicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 16:46:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/61465.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Jan 2004 15:17:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DoModal(); ausgetrickst. Aber ich will das doch garnicht! on Wed, 14 Jan 2004 15:17:02 GMT]]></title><description><![CDATA[<p>wahrscheinlich ein typischer Anfängerfehler. Ich hab mich irgendwie selbst reingelegt</p>
<p>In meiner Klasse CEinlesenDlg habe ich die Funktion Protokol(), welche korrekt mit m_DStoffliste.DoModal(); ein neues Dialogfenster öffnet.</p>
<pre><code class="language-cpp">void CEinlesenDlg::Protokol()
{
	PKontaktLabeo m_PKontakt(this);
	int keinStoff= m_PKontakt.FindStoff();

	//+--------------------------------------------------------------------------+
	//+ Wenn es Stoff gibt der nicht, oder nicht ausreichen da ist, dann Anzeigen+
	//+--------------------------------------------------------------------------+
	if (keinStoff!=0)							
	{
		DStoffliste m_DStoffliste(this);
		m_DStoffliste.DoModal();
	}
}
</code></pre>
<p>ich rufe diese Fkt jedoch aus einer anderen Klasse (mit eigenem Dialogfenster) auf m_pPar-&gt;Protokol(); auch das funktioniert. Leider hat das neue Dialogfenster nicht mehr die normalen Eigenschaften von DoModal(). ich kann nämlich einfach auf das Fenster von DVST_Beschreibung Beschreibung gehen und ein zweites Fenster von DStoffliste öffnen.</p>
<pre><code class="language-cpp">DVST_Beschreibung::DVST_Beschreibung(CWnd* pParent /*=NULL*/)
	: CDialog(DVST_Beschreibung::IDD, pParent)
{
	m_pPar	= (CEinlesenDlg*)pParent;
	//{{AFX_DATA_INIT(DVST_Beschreibung)
		// HINWEIS: Der Klassen-Assistent fügt hier Elementinitialisierung ein
	//}}AFX_DATA_INIT

}

void DVST_Beschreibung::OnVSTProtokolle() 
{

	OnVSTSpeichern();

	m_pPar-&gt;Protokol();
}
</code></pre>
<p>Wie kann ich dieses verhindern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436346</guid><dc:creator><![CDATA[Smile_79]]></dc:creator><pubDate>Wed, 14 Jan 2004 15:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to DoModal(); ausgetrickst. Aber ich will das doch garnicht! on Wed, 14 Jan 2004 17:10:08 GMT]]></title><description><![CDATA[<p>DStoffliste m_DStoffliste sollte eine Membervariable von CEinlesenDlg sein...</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436461</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Wed, 14 Jan 2004 17:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to DoModal(); ausgetrickst. Aber ich will das doch garnicht! on Wed, 14 Jan 2004 17:46:54 GMT]]></title><description><![CDATA[<p>Für das korrekte verhalten iust nur notwendig, das &quot;this&quot; (im DoModal-Aufruf) tatsächlich der DStoffliste-Dialog ist. Hier muß (muß muß muß) das Owner-Fenster des modalen Dialoges angegeben werden.</p>
<p>Wo hast du m_pPar her?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/436482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/436482</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Wed, 14 Jan 2004 17:46:54 GMT</pubDate></item></channel></rss>