<?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[Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Ich mlchte aus meiner Klasse CID80ESLKDlg die Variablen m_MDTred, ... (siehe Quelltext) ansprechen. Die Variablen sind public. Was ist da falsch? Ich bekomm immer einen Assertion-Fehler im Bezug auf ShowWindow.<br />
File: winocc.cpp<br />
Line: 330</p>
<p>void CMacros::MDT_Status_Ausgabe (int ii)<br />
{<br />
CID80ESLKDlg ID80;<br />
if (ii == 1)<br />
{<br />
ID80.m_MDTred.ShowWindow(TRUE);<br />
ID80.m_MDTorange.ShowWindow(FALSE);<br />
ID80.m_MDTgreen.ShowWindow(FALSE);<br />
ID80.m_MDTunknown.ShowWindow(FALSE);<br />
}<br />
...<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148867/fehler-bei-showwindow-im-bezug-auf-eine-control-variable-eines-bildes-aus-anderer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Jul 2026 11:47:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148867.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 May 2006 10:27:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:27:36 GMT]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Ich mlchte aus meiner Klasse CID80ESLKDlg die Variablen m_MDTred, ... (siehe Quelltext) ansprechen. Die Variablen sind public. Was ist da falsch? Ich bekomm immer einen Assertion-Fehler im Bezug auf ShowWindow.<br />
File: winocc.cpp<br />
Line: 330</p>
<p>void CMacros::MDT_Status_Ausgabe (int ii)<br />
{<br />
CID80ESLKDlg ID80;<br />
if (ii == 1)<br />
{<br />
ID80.m_MDTred.ShowWindow(TRUE);<br />
ID80.m_MDTorange.ShowWindow(FALSE);<br />
ID80.m_MDTgreen.ShowWindow(FALSE);<br />
ID80.m_MDTunknown.ShowWindow(FALSE);<br />
}<br />
...<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068642</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Wed, 31 May 2006 10:27:36 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:32:39 GMT]]></title><description><![CDATA[<p>Du erstellst da ein neues CID80ESLKDlg-Objekt, das am Ende dieser Funktion wieder zerstört wird. Dieses Objekt repräsentiert kein Fenster.</p>
<p>Vermutlich gibt es irgendwo schon ein CID80ESLKDlg-Objekt. Das musst du benutzen, nicht einfach ein neues anlegen. &quot;Was du in einen Schrank hineinlegst, kannst du nicht aus einem anderen herausholen.&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068647</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 31 May 2006 10:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:34:31 GMT]]></title><description><![CDATA[<p>Hast du denn schon die Create-Methode der m_MDT.. Member aufgerufen? Die assertion tritt an dieser Stelle immer auf wenn kein gültiges HWND vorhanden ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068649</guid><dc:creator><![CDATA[connan]]></dc:creator><pubDate>Wed, 31 May 2006 10:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:39:16 GMT]]></title><description><![CDATA[<p>connan schrieb:</p>
<blockquote>
<p>Hast du denn schon die Create-Methode der m_MDT.. Member aufgerufen? Die assertion tritt an dieser Stelle immer auf wenn kein gültiges HWND vorhanden ist.</p>
</blockquote>
<p>könntest du mir das genauer erklären?</p>
<p>Die Klasse CID80ESLKDlg ist die Klasse der Oberfläche und einiger Funktionen. Von diesen Funktionen springe ich wie folgt in das Macro:</p>
<p>void CID80ESLKDlg::Funktion (void)<br />
{</p>
<p>CMacros macro;<br />
...<br />
...<br />
if (...)<br />
{<br />
macro.MDT_Status_Ausgabe(1);<br />
}<br />
...<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068655</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Wed, 31 May 2006 10:39:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:45:27 GMT]]></title><description><![CDATA[<p>Stefan_Walter schrieb:</p>
<blockquote>
<p>könntest du mir das genauer erklären?</p>
</blockquote>
<p>Der Ansatz bringt dich nicht weiter. Du hast da ja schon ein CID80ESLKDlg-Objekt.</p>
<p>Verpass CMacros einen CID80ESLKDlg*-Member, und setz den vor dem Aufruf der Funktion:</p>
<pre><code class="language-cpp">void CID80ESLKDlg::Funktion (void)
{
    CMacros macro;
    macro.zeigerAufDialog = this;

    if (...)
    {
        macro.MDT_Status_Ausgabe(1);
    }
}
</code></pre>
<p>In der Funktion benutzt du dann diesen Zeiger:</p>
<pre><code class="language-cpp">void CMacros::MDT_Status_Ausgabe (int ii)
{

    if (ii == 1)
    {
        zeigerAufDialog-&gt;m_MDTred.ShowWindow(TRUE);
        zeigerAufDialog-&gt;m_MDTorange.ShowWindow(FALSE);
        zeigerAufDialog-&gt;m_MDTgreen.ShowWindow(FALSE);
        zeigerAufDialog-&gt;m_MDTunknown.ShowWindow(FALSE);
    }
...
}
</code></pre>
<p>Alternativ kannst du den Zeiger auch der Methode als Parameter hinzufügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068660</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 31 May 2006 10:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 10:52:42 GMT]]></title><description><![CDATA[<p>ich hab das so übernommen, geht aber nicht, was muss ich mit dem Zeiger genau machen, der kennt den ja im Macro nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068665</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Wed, 31 May 2006 10:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 11:04:59 GMT]]></title><description><![CDATA[<p>Du spendierst einfach deiner CMakros eine Membervariable zeigerAufDialog vom Typ CID80ESLKDlg* das ist eigentlich schon alles, dann hast zugriff auf den Dialog innerhalb von CMakros.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068679</guid><dc:creator><![CDATA[connan]]></dc:creator><pubDate>Wed, 31 May 2006 11:04:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 11:18:31 GMT]]></title><description><![CDATA[<p>Hab das jetzt gemacht und der Fehler, den ich ooben geschrieben habe ist jetzt auch weg. allerdings hab ich noch einen bei<br />
File: wincore.cpp<br />
Line 4184 und 4191 (die fetten)<br />
[cpp]<br />
BOOL CWnd::UpdateData(BOOL bSaveAndValidate)<br />
{<br />
<strong>ASSERT(::IsWindow(m_hWnd)); // calling UpdateData before DoModal?</strong><br />
CDataExchange dx(this, bSaveAndValidate);</p>
<p>// prevent control notifications from being dispatched during UpdateData<br />
_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();<br />
HWND hWndOldLockout = pThreadState-&gt;m_hLockoutNotifyWindow;<br />
<strong>ASSERT(hWndOldLockout != m_hWnd); // must not recurse</strong> pThreadState-&gt;m_hLockoutNotifyWindow = m_hWnd;</p>
<p>BOOL bOK = FALSE; // assume failure<br />
TRY<br />
{<br />
DoDataExchange(&amp;dx);<br />
bOK = TRUE; // it worked<br />
}<br />
CATCH(CUserException, e)<br />
{<br />
// validation failed - user already alerted, fall through<br />
ASSERT(!bOK);<br />
// Note: DELETE_EXCEPTION_(e) not required<br />
}<br />
AND_CATCH_ALL(e)<br />
{<br />
// validation failed due to OOM or other resource failure<br />
e-&gt;ReportError(MB_ICONEXCLAMATION, AFX_IDP_INTERNAL_FAILURE);<br />
ASSERT(!bOK);<br />
DELETE_EXCEPTION(e);<br />
}<br />
END_CATCH_ALL</p>
<p>pThreadState-&gt;m_hLockoutNotifyWindow = hWndOldLockout;<br />
return bOK;<br />
}[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068688</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Wed, 31 May 2006 11:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 11:29:14 GMT]]></title><description><![CDATA[<p>hab's rausgefunden. Scheinbar darf man dann das UpdateData nicht im Macro aufrufen</p>
<p>Danke für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068700</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Wed, 31 May 2006 11:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei ShowWindow im Bezug auf eine Control-Variable eines Bildes aus anderer Klasse on Wed, 31 May 2006 11:47:36 GMT]]></title><description><![CDATA[<p>Öhmm was soll dieses rumgefrickel?!<br />
zeigerAufDialog-&gt;m_MDTred.ShowWindow(TRUE);<br />
... schon alleine eine Public Memebervariable...</p>
<p><strong>Stefan_Walter</strong><br />
Ist CID80ESLKDlg dein Hauptdialog?! Wenn ja... dann mach das mal anständig.<br />
Entweder fu fügst deinen CID80ESLKDlg mal eine schöne public Memberfuncton zu, die dann einfach wie folgt aussieht:</p>
<pre><code class="language-cpp">void CID80ESLKDlg::MDT_State_Output(int ii) 
{ 
    if (ii == 1) 
    { 
        m_MDTred.ShowWindow(TRUE); 
        m_MDTorange.ShowWindow(FALSE); 
        m_MDTgreen.ShowWindow(FALSE); 
        m_MDTunknown.ShowWindow(FALSE); 
    } 
    // ... 
}
</code></pre>
<p>Die rufst du diese einfach auf. Ich weiß imo garnet was du da wirklich machen willst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> nen Pointer aufn MainDlg bekommst de mit AfxGetMainWnd(...)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068720</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 31 May 2006 11:47:36 GMT</pubDate></item></channel></rss>