<?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[Aufruf einer Methode]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe zwei Klassen (es sind die einzelnen Blätter einer Registerkarte) und möchte eine Membervariable der einen Klasse von der anderen aus benutzten:</p>
<pre><code class="language-cpp">CTabPage5::m_SelfSigned.SetCheck(FALSE);
</code></pre>
<p>leider kommt komischer Weise dies Fehlermeldung:</p>
<pre><code class="language-cpp">...tabpage4.cpp(648) : error C2228: Der linke Teil von '.SetCheck' muss eine Klasse/Struktur/Union sein
</code></pre>
<p>Was mach ich falsch? <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/179437/aufruf-einer-methode</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 15:15:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179437.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Apr 2007 17:03:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 17:03:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe zwei Klassen (es sind die einzelnen Blätter einer Registerkarte) und möchte eine Membervariable der einen Klasse von der anderen aus benutzten:</p>
<pre><code class="language-cpp">CTabPage5::m_SelfSigned.SetCheck(FALSE);
</code></pre>
<p>leider kommt komischer Weise dies Fehlermeldung:</p>
<pre><code class="language-cpp">...tabpage4.cpp(648) : error C2228: Der linke Teil von '.SetCheck' muss eine Klasse/Struktur/Union sein
</code></pre>
<p>Was mach ich falsch? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1270706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270706</guid><dc:creator><![CDATA[johanna]]></dc:creator><pubDate>Sat, 21 Apr 2007 17:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 17:17:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">CTabPage5::m_SelfSigned
</code></pre>
<p>ist keine Klasse/Struktur/Union.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270720</guid><dc:creator><![CDATA[Retter]]></dc:creator><pubDate>Sat, 21 Apr 2007 17:17:12 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 20:09:48 GMT]]></title><description><![CDATA[<p>und nu? Irgendwie muß ich doch dieses Controlzugreifen können...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270804</guid><dc:creator><![CDATA[johanna]]></dc:creator><pubDate>Sat, 21 Apr 2007 20:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 20:46:25 GMT]]></title><description><![CDATA[<p>hmm was ist m_SelfSigned denn für ein Datentype?</p>
<p>aja und notfalls: reinterpret_cast&lt;CButton&gt;(GetDlgItem(...))-&gt;SetCheck(BST_UNCHECK); ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270819</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 21 Apr 2007 20:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 21:15:45 GMT]]></title><description><![CDATA[<p>m_SelfSigned ist ein CButton (Controltyp). Den habe ich mit dem klassen-assi in der Klasse CTabPage5 angelegt. Wie gesagt: CTabPage5 ist eine Klasse, die zu einem Ste von Registerkarten gehört und da muß man nu leider für jede Registerkarte eine eigene Klasse anlegen. Und deshalb muß ich von einer (&quot;Register&quot;-)Klasse auf die Variablen der anderen zugreifen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270832</guid><dc:creator><![CDATA[johanna]]></dc:creator><pubDate>Sat, 21 Apr 2007 21:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sat, 21 Apr 2007 23:16:24 GMT]]></title><description><![CDATA[<p>Kennst Du den Unterschied zwischen einer Klasse und einer Instanz?</p>
<p>Irgendwo im Code hast du sehr wahrscheinlich eine Instanz erzeugt.</p>
<pre><code class="language-cpp">CTabPage5 myTabPage;
</code></pre>
<p>Über</p>
<pre><code class="language-cpp">myTabPage.m_SelfSigned
</code></pre>
<p>kannst Du auf den Button zugreifen, wenn dieser als public deklariert wurde.<br />
Wenn du auf den Button in einer anderen Klasse zugreifen willst, musst du der anderen Klasse die Instanz deines CTabPage5 also myTabPage übergeben, und zwar am besten als Referenz.</p>
<p>Was du machst</p>
<pre><code class="language-cpp">CTabPage5::m_SelfSigned
</code></pre>
<p>funzt nur, wenn dein Button als public und static deklariert wurde, was aber sehr wahrscheinlich nicht der Fall ist.</p>
<p>Allerdings ist das ein zienlich übler Hack, wenn TabPages untereinander auf ihrer Controls zugreifen. Irgendwo ist dein Design suboptimal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270868</guid><dc:creator><![CDATA[Retter]]></dc:creator><pubDate>Sat, 21 Apr 2007 23:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sun, 22 Apr 2007 09:06:27 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Erklärung - werd's gleich mal ausprobieren. Du hast Recht: Ich kenn mich ganz gut aus mit C, aber nicht unbedingt mit Klassen, Instanzen und was es da sonst noch für merkwürdiges Zeug gibt...</p>
<p>Retter schrieb:</p>
<blockquote>
<p>Allerdings ist das ein zienlich übler Hack, ...</p>
</blockquote>
<p>Eigentlich ist das ganze Ding eine Einheit - sprich alle Funktionen gehören logisch zusammen. Das ich jetzt mehrere Klasse habe statt einer, in der alles abläuft, ist nicht mein Fehler. Das wird von VC++ (od. MFC?) so vorgegeben. Die Registerkarten erfordern nun mal für jeden Reiter eine eigene Klasse! Was soll man da machen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270939</guid><dc:creator><![CDATA[johanna]]></dc:creator><pubDate>Sun, 22 Apr 2007 09:06:27 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sun, 22 Apr 2007 09:39:00 GMT]]></title><description><![CDATA[<p>Hallo Retter,<br />
leider klappt's net! <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="😞"
    /> Es kompliert zwar, aber es gibt einen RuntimeError!</p>
<pre><code class="language-cpp">CTabPage5 myTabPage;
</code></pre>
<p>hab' ich vorher nicht gehabt - hab's scheinbar nicht gebraucht... <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="😕"
    /><br />
Habe es jetzt im globalen Teil des CCTabPage5.cpp Files eingefügt und dann in CCTabPage4.cpp als globale Variable darauf zugegriffen. Es sieht aber so aus, als wenn myTabPage keinen sinnvollen Wert hat. Wie bekommt es den? Habe es bereits mit</p>
<pre><code class="language-cpp">CTabPage5 myTabPage = this;
</code></pre>
<p>versucht, aber das geht nicht - auch</p>
<pre><code class="language-cpp">myTabPage = this;
</code></pre>
<p>im OnInitDialog() von CTabPage5 hat nicht funktioniert. Tja was nu? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1270964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270964</guid><dc:creator><![CDATA[Johanna]]></dc:creator><pubDate>Sun, 22 Apr 2007 09:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sun, 22 Apr 2007 13:11:49 GMT]]></title><description><![CDATA[<p>Ähm, Buch kaufen und C++ lernen. Sorry, aber ich kann dir nicht in einer Post Objekt-Orientierte Programmierung in C++ erklären.</p>
<p>Wozu soll das gut sein?</p>
<pre><code class="language-cpp">CTabPage5 myTabPage = this;
</code></pre>
<p>Wenn dann so:</p>
<pre><code class="language-cpp">CTabPage5 myTabPage = *this;
</code></pre>
<p>Damit klonst du deine TabPage, aber das macht überhaupt keinen Sinn.</p>
<p>Bei <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> gibt es bestimmt Artikel darüber, wie man TabPages einsetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271098</guid><dc:creator><![CDATA[Retter]]></dc:creator><pubDate>Sun, 22 Apr 2007 13:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Sun, 22 Apr 2007 13:45:56 GMT]]></title><description><![CDATA[<p>'scho recht - aber ich brauch C++ ja nur für das GUI (MFC-Dialoge) - der Rest ist schlicht C. Die Sache mit den tabPages klappt ja auch soweit ganz gut. nur von einer TabPage auf eine andere zugreifen halt net. Da fehlt irgendein Pointer oder so. Das ist schon alles was ich wissen müßt... is halt blöd gemacht von MS, daß jede Registerkarte einen eigenen Dialog (mit eigener Klasse) darstellt und man dann nicht auf dessen Elemente zugreifen kann... bräuchte da nur irgendeine Verbindug (Pointer mit entsprechender Initialisierung od. Ähnliches) <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1271117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271117</guid><dc:creator><![CDATA[johanna]]></dc:creator><pubDate>Sun, 22 Apr 2007 13:45:56 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Mon, 23 Apr 2007 14:26:57 GMT]]></title><description><![CDATA[<p>johanna schrieb:</p>
<blockquote>
<p>is halt blöd gemacht von MS, daß jede Registerkarte einen eigenen Dialog (mit eigener Klasse) darstellt und man dann nicht auf dessen Elemente zugreifen kann... bräuchte da nur irgendeine Verbindug (Pointer mit entsprechender Initialisierung od. Ähnliches) <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>
</blockquote>
<p>Was hindert Dich daran, den Konstruktor Deiner Tabpages um eben diesen Pointer zu erweitern und bei der Instanziierung Deiner Tabpages mit zu übergeben? Die anderen Konstruktoren machst Du ggfs. einfach private, damit keiner den Dialog ohne diesen Pointer benutzen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1271799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1271799</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Mon, 23 Apr 2007 14:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf einer Methode on Mon, 23 Apr 2007 22:22:56 GMT]]></title><description><![CDATA[<p>Äh - ist bestimmt 'ne prima Idee, da ich aber leider nichts von &quot;Konstruktoren&quot; verstehe, bräuchte ich ein paar Codezeilen, um zu kapieren, was Du meinst... <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>
<p>Da die ganze Klassengeschichte vom Klassenassi erledigt wird, weiß ich auch leider nicht, wo die Dialogklassen denn überhaupt instansziert werden (evt. durch den DoModal-Aufruf?), bzw. was ich da wie ändern müßte, damit es funzt... - wie gesagt, ich programmiere eigentlich nur C...</p>
<p>jencas schrieb:</p>
<blockquote>
<p>...den Konstruktor Deiner Tabpages um eben diesen Pointer zu erweitern...</p>
</blockquote>
<p>wie denn? <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>
<p>jencas schrieb:</p>
<blockquote>
<p>bei der Instanziierung Deiner Tabpages mit zu übergeben</p>
</blockquote>
<p>wo und wie genau? <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>
<p>Aber schon mal vielen Dank für Deine Hilfe! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1272075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1272075</guid><dc:creator><![CDATA[Johanna]]></dc:creator><pubDate>Mon, 23 Apr 2007 22:22:56 GMT</pubDate></item></channel></rss>