<?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[Verwendung einer Klasse auf mehreren Formularen]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>SPAM (muss aber sein): SCHEISSE..., ITALIEN IST WEITER! <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>Nun zu meinem Problem. Ich habe ein Programm geschrieben, indem ich mehrere Formulare habe. Dazu kommt eine Klasse, in die einige Daten eingetragen werden. Und da ist auch schon das Problem. Wie kann ich es machen, das die Daten immer in die EINE Klasse geschrieben werden. Irgendwie erstellt der bei mir immer eine neue Instanz der Klasse. Wäre nett, wenn ihr mir helfen könntet. Ich hoffe ihr könnt nachvollziehen was ich aussagen möchte. Ich danke schonmal...</p>
<p>MfG Apo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152276/verwendung-einer-klasse-auf-mehreren-formularen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 02:27:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152276.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Jul 2006 21:51:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verwendung einer Klasse auf mehreren Formularen on Tue, 04 Jul 2006 21:51:49 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>SPAM (muss aber sein): SCHEISSE..., ITALIEN IST WEITER! <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>Nun zu meinem Problem. Ich habe ein Programm geschrieben, indem ich mehrere Formulare habe. Dazu kommt eine Klasse, in die einige Daten eingetragen werden. Und da ist auch schon das Problem. Wie kann ich es machen, das die Daten immer in die EINE Klasse geschrieben werden. Irgendwie erstellt der bei mir immer eine neue Instanz der Klasse. Wäre nett, wenn ihr mir helfen könntet. Ich hoffe ihr könnt nachvollziehen was ich aussagen möchte. Ich danke schonmal...</p>
<p>MfG Apo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091464</guid><dc:creator><![CDATA[Apocalypse]]></dc:creator><pubDate>Tue, 04 Jul 2006 21:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to Verwendung einer Klasse auf mehreren Formularen on Tue, 04 Jul 2006 22:01:24 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du must eben sicherstellen das du die eine Instanz zu jedem Form bekannt machst. Dabei könntest du verschiedene Wege gehen<br />
- Erstelle eine Instanz im Hauptform, und übergib die Instanz als Pointer oder als Referenz an die andern.<br />
- Lagere die Klasse in eine extra Unit aus, und erstelle dort eine globale Instanz, die du nach außen hin mit extern deklarierst.<br />
- belies dich nach dem Singleton- Pattern im C++ Subforum</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091474</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 04 Jul 2006 22:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Verwendung einer Klasse auf mehreren Formularen on Thu, 06 Jul 2006 15:13:49 GMT]]></title><description><![CDATA[<p>So..., ich habe mich nun mal etwas mit den Singletons auseinandergesetzt, so wie du es mir vorgeschlagen hast. Hier erstmal meine Singleton-Klasse:</p>
<pre><code class="language-cpp">#ifndef TSINGLETON
#define TSINGLETON

template &lt;class T&gt;
class TSingleton
{
    protected:
        // Membervariablen
        static T *m_pSingleton;     // statisches Objekt

    public:
        // Destruktor
        virtual ~TSingleton(void)
        {
        }

        // Get
        // Wenn nötig, statisches Objekt erzeugen und
        // Zeiger darauf zurückgeben
        inline static T* Get(void)
        {
            // Existiert schon eine Instanz
            if(!m_pSingleton)
                m_pSingleton = new T;   // Nein, dann neue Instanz erzeugen

            // Zeiger auf die Instanz zurückgegeben
            return m_pSingleton;
        }

        static void Del(void)
        {
            // gab es eine Instanz?
            if(m_pSingleton)
            {
                delete m_pSingleton;    // Ja, dann freigeben
                m_pSingleton = NULL;    // und Zeiger auf NULL setzen
            }
        }
};

// Die statische Variable erzeugen
template &lt;class T&gt;
T* TSingleton&lt;T&gt;::m_pSingleton = NULL;

#endif
</code></pre>
<p>Meine CPlayer-Klasse erbt die Attribute der Singleton-Klasse:</p>
<pre><code class="language-cpp">class CPlayer : public TSingleton&lt;CPlayer&gt;
</code></pre>
<p>Wenn ich einen Wert in meine Klasse schreiben möchte, dann mache ich das wie folgt:</p>
<pre><code class="language-cpp">CPlayer::Get()-&gt;setName(txtName-&gt;Text);
</code></pre>
<p>Und wenn ich den Wert ausgeben möchte, dann muss ich das so machen:</p>
<pre><code class="language-cpp">lblName-&gt;Caption = CPlayer::Get()-&gt;getName();
</code></pre>
<p>Ich erhalte erstmal keine Fehlermeldungen um die Ohren geschmießen, worüber ich schonmal sehr froh bin aber es gibt noch ein kleines Problem hinter das ich noch nicht gestiegen bin. Wenn ich die Daten auf dem selben Formular ausgebe, auf dem ich diese auch eingegeben habe, funktioniert alles wunderbar. Wenn ich diese aber auf einem anderem Formular ausgeben möchte bekomme ich auch keine Fehlermeldung, aber die Daten werden nicht angezeigt und da liegt mein Problem.</p>
<p>Könntet ihr mir sagen, wie ich dieses Problem noch umgehen kann? Wäre nett. Danke schonmal...</p>
<p>MfG Apo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1092586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1092586</guid><dc:creator><![CDATA[Apocalypse]]></dc:creator><pubDate>Thu, 06 Jul 2006 15:13:49 GMT</pubDate></item></channel></rss>