<?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[Wie komme ich an eine Variable aus der Hauptklasse?]]></title><description><![CDATA[<p>In meiner HauptKlasse &quot;CMYDLG&quot; stehen alle GUI spezifischen Dinge drin. Nun sind aber einige untergeordnete Dialoge (als Teil eines TabCtrls) in externen Klassen. Dort brauche ich nun unbedingt Zugriff auf meinen Array &quot;enabledBitmaps[]&quot;, den ich in cmydlg.h im public-Teil stehen habe.</p>
<pre><code class="language-cpp">void myDialog1::OnCheck1() 
{
	CmyDlg test = new CmyDlg;
	if (m_buttonCheck1.GetCheck() == 1)
		test.enabledBitmaps[0]=1;
	else
		test.enabledBitmaps[0]=0;
}
</code></pre>
<p>Das klappt so nicht, weil enabledBitmaps[] plötzlich eine protected-Variable sein soll... aber sie steht doch im public-Teil des Headers!<br />
Wie spreche ich diesen Array aus der externen GUI-Klasse an? Kann auch sein, dass das totaler Unfug da oben ist, ich lerne ja noch OOP <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>EDIT: Vielleicht sollte ich auch mal Get- und Set-Methoden probieren <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145057/wie-komme-ich-an-eine-variable-aus-der-hauptklasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 23:28:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145057.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Apr 2006 14:14:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Mon, 24 Apr 2006 14:16:52 GMT]]></title><description><![CDATA[<p>In meiner HauptKlasse &quot;CMYDLG&quot; stehen alle GUI spezifischen Dinge drin. Nun sind aber einige untergeordnete Dialoge (als Teil eines TabCtrls) in externen Klassen. Dort brauche ich nun unbedingt Zugriff auf meinen Array &quot;enabledBitmaps[]&quot;, den ich in cmydlg.h im public-Teil stehen habe.</p>
<pre><code class="language-cpp">void myDialog1::OnCheck1() 
{
	CmyDlg test = new CmyDlg;
	if (m_buttonCheck1.GetCheck() == 1)
		test.enabledBitmaps[0]=1;
	else
		test.enabledBitmaps[0]=0;
}
</code></pre>
<p>Das klappt so nicht, weil enabledBitmaps[] plötzlich eine protected-Variable sein soll... aber sie steht doch im public-Teil des Headers!<br />
Wie spreche ich diesen Array aus der externen GUI-Klasse an? Kann auch sein, dass das totaler Unfug da oben ist, ich lerne ja noch OOP <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>EDIT: Vielleicht sollte ich auch mal Get- und Set-Methoden probieren <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044036</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Mon, 24 Apr 2006 14:16:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Mon, 24 Apr 2006 14:51:08 GMT]]></title><description><![CDATA[<p>Merkwürdig... ich habe die Set-Methode nun auf die protected Variable enabledBitmaps fertig, sie wird auch durchlaufen und setzt die korrekten Werte. Aber sobald diese Funktion verlassen wird, bekommt die Variable wieder den vorigen Wert zugewiesen. Er ignoriert die Änderung einfach. Was mache ich falsch? Muss die Variable eine spezielle Deklaration haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044068</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Mon, 24 Apr 2006 14:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Mon, 24 Apr 2006 14:56:15 GMT]]></title><description><![CDATA[<p>Informier dich mal über den Unterschied zwischen Klasse und Instanz.</p>
<p>Was du in einen Schrank reinlegst, kannst du nicht aus einem anderen rausholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044074</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 24 Apr 2006 14:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Mon, 24 Apr 2006 19:01:10 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Was du in einen Schrank reinlegst, kannst du nicht aus einem anderen rausholen.</p>
</blockquote>
<p>Hey, der Vergleich ist super. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044378</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 24 Apr 2006 19:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Mon, 24 Apr 2006 21:11:50 GMT]]></title><description><![CDATA[<p>*vordiestirnhau*</p>
<p>Oh, stimmt, ich habe das &quot;new&quot; so schnell geschrieben, dass ich ganz vergessen habe, dass ich eine Instanz erstellt habe... ok, also muss ich anders an die Variable, das finde ich sicher auch noch raus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1044513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044513</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Mon, 24 Apr 2006 21:11:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 14:06:55 GMT]]></title><description><![CDATA[<p>Ich komme nicht drauf, es klappt immernoch nicht, auch ohne &quot;new&quot;. Wahrscheinlich ist es nur ein sehr dummer Fehler meinerseits... hier mal etwas mehr Code:</p>
<p>Aus dem Hauptprogramm:</p>
<pre><code>BOOL CToolboxApp::InitInstance()
{
	AfxEnableControlContainer();

#ifdef _AFXDLL
	Enable3dControls();
#else
	Enable3dControlsStatic();
#endif

	CToolboxDlg dlg;
	m_pMainWnd = &amp;dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK) // exit program via the close button
	{
		// do nothing
	}

	return FALSE;
}
</code></pre>
<p>Aus dem GUI-Header:</p>
<pre><code>public:
void CToolboxDlg::setEnabledBitmaps(int pos, int value);
...
protected:
int enabledBitmaps[BITMAPCOUNT];
...
</code></pre>
<p>Aus der GUI-cpp</p>
<pre><code>void CToolboxDlg::setEnabledBitmaps(int pos, int value)
{
	enabledBitmaps[pos]=value;
}
</code></pre>
<p>Aus der externen Klasse:</p>
<pre><code>void myDialog1::OnCheck1() 
{
	CToolboxDlg test;
	if (m_buttonCheck1.GetCheck() == 1)
		test.setEnabledBitmaps(0,1);
	else
		test.setEnabledBitmaps(0,0);
}
</code></pre>
<p>Ich wünschte ich wüsste was ich falsch mache...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044865</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Tue, 25 Apr 2006 14:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 15:03:51 GMT]]></title><description><![CDATA[<p>Es ist egal, ob du new benutzt oder eine Autovariable: Du erstellst ein neues CToolboxDlg-Objekt, das mit dem bereits exisiterenden nichts zu tun hat. Du musst einen Zeiger oder eine Referenz auf das existierende Objekt (das du in CToolboxApp::InitInstance erstellt hast) in diese Methode hineinbringen, z.B. als Membervariable von myDialog1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044918</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 25 Apr 2006 15:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 15:13:42 GMT]]></title><description><![CDATA[<p>Ja dieses m_pMainWnd, das auf dlg zeigt ist mir aufgefallen, aber es verwirrt mich, dass es nirgends deklariert ist. Welchen Typ hat es? Die Membervariable von myDialog1 müsste dann denselben Typ haben oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044930</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Tue, 25 Apr 2006 15:13:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 16:13:13 GMT]]></title><description><![CDATA[<p>Langsam nervt dieser Fehler, ich komme nicht drauf... ich muss kurz vor dem Ziel sein, aber nun bekomme ich keine Compiler-Fehler mehr sondern Linker-Fehler.</p>
<p>Ich habe in myDialog1.h (ganz oben sonst findet InitInstance es nicht) m_pDialog1 als Pointer des Typs CToolboxDlg definiert. In InitInstance habe ich m_pDialog1=&amp;dlg ... sollte doch klappen oder? Die Linker-Fehler sagen aber nun &quot;m_pDialog1 already defined on myDialog1.obj&quot;. Was hat das nun wieder zu bedeuten... langsam läuft mir die Zeit davon <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>EDIT: Der Linkerfehler kommt, weil ich myDialog.h zweimal included habe: einmal im Hauptprogramm (sonst findet er m_pDialog1 nicht) und in der GUI-Klasse (sonst findet TabCtrl nichts).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1044944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1044944</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Tue, 25 Apr 2006 16:13:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 18:51:38 GMT]]></title><description><![CDATA[<p>guck mal in deinem (CROSS POSTER!!!) Thread bei <a href="http://www.cplusplus-forum.de" rel="nofollow">www.cplusplus-forum.de</a> -.- Müsste gehen was ich gepostet hab <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1045111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045111</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 25 Apr 2006 18:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Wie komme ich an eine Variable aus der Hauptklasse? on Tue, 25 Apr 2006 19:09:39 GMT]]></title><description><![CDATA[<p>Juhuuuuuuuuuu! Endlich klappt es! DANKE!</p>
<p>Cross-Poster stehen unter Zeitdruck und hoffen, dass irgendwer schnellstmöglich eine Lösung findet <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1045123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1045123</guid><dc:creator><![CDATA[JPSelter]]></dc:creator><pubDate>Tue, 25 Apr 2006 19:09:39 GMT</pubDate></item></channel></rss>