<?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[Zugriff auf CFormView]]></title><description><![CDATA[<p>Ich hab mal wieder null plan wie ich das machen soll.<br />
Hab immer zuviele Ideen die ich dann nich umsetzen kann weil mir das Wissen fehlt, deswegen schreib ich hier mal wieder ins Forum.</p>
<p>Wie das Thema schon sagt moechte ich auf meine Klasse CFormView zugreifen.<br />
Ich habe diese als Basisklasse meiner SDI Anwendung gewaehlt.<br />
Nun will ich zusaetzlich ueber das Menu auf einen Dialog zugreifen, das klappt soweit auch ganz gut.<br />
Nur jetzt kommt der Haken, ich moechte in diesem Dialog (Klasse CDialog) auf Daten (public Variablen) der Klasse CFormView zugreifen (Der Anwender gibt im CFormView Daten in Editfelder ein, diese werden im Dialogfenster ausgewertet).</p>
<p>Ich habe bereits mit hilfe des Klassenassistenten eine Fremdvariable erzeugt (diese ist ein Pointer auf die Klasse CFormView), jetzt koennt ich ja theoretischer weise auf Methoden und Variablen der Klasse CF. zugreifen, wenn ich<br />
&quot;Fremdvariable-&gt;.....&quot; mache.<br />
C++ zeigt mir in diesem falle auch alle Methoden etc. an.<br />
Wenn ich dies aber verwende stuerzt er mir ab.<br />
Muss ich vorher ueberpruefen ob der Zeiger gueltig sind ???? Wenn ja wie?<br />
Habs schon mit &quot;GetSaveHwnd()&quot; probiert, klappt aber nich.</p>
<p>Can anybody help me???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/80011/zugriff-auf-cformview</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 15:14:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/80011.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Jul 2004 11:16:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:16:00 GMT]]></title><description><![CDATA[<p>Ich hab mal wieder null plan wie ich das machen soll.<br />
Hab immer zuviele Ideen die ich dann nich umsetzen kann weil mir das Wissen fehlt, deswegen schreib ich hier mal wieder ins Forum.</p>
<p>Wie das Thema schon sagt moechte ich auf meine Klasse CFormView zugreifen.<br />
Ich habe diese als Basisklasse meiner SDI Anwendung gewaehlt.<br />
Nun will ich zusaetzlich ueber das Menu auf einen Dialog zugreifen, das klappt soweit auch ganz gut.<br />
Nur jetzt kommt der Haken, ich moechte in diesem Dialog (Klasse CDialog) auf Daten (public Variablen) der Klasse CFormView zugreifen (Der Anwender gibt im CFormView Daten in Editfelder ein, diese werden im Dialogfenster ausgewertet).</p>
<p>Ich habe bereits mit hilfe des Klassenassistenten eine Fremdvariable erzeugt (diese ist ein Pointer auf die Klasse CFormView), jetzt koennt ich ja theoretischer weise auf Methoden und Variablen der Klasse CF. zugreifen, wenn ich<br />
&quot;Fremdvariable-&gt;.....&quot; mache.<br />
C++ zeigt mir in diesem falle auch alle Methoden etc. an.<br />
Wenn ich dies aber verwende stuerzt er mir ab.<br />
Muss ich vorher ueberpruefen ob der Zeiger gueltig sind ???? Wenn ja wie?<br />
Habs schon mit &quot;GetSaveHwnd()&quot; probiert, klappt aber nich.</p>
<p>Can anybody help me???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/562052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562052</guid><dc:creator><![CDATA[Schwabi]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:30:25 GMT]]></title><description><![CDATA[<p>Initialisiere den Zeiger im Konstruktor des Dialoges mit NULL. Dann kannst du vor der Verwendung prüfen, ob der nicht NULL ist und nur dann verweden.<br />
Das geht mit:</p>
<pre><code class="language-cpp">ASSERT(pView);
if(pView)
{
// tu was
}
</code></pre>
<p>Diesen Zeiger musst du von außen aber noch füllen. Von alleine weiß der Dialog nicht die Adresse des Views. Das musst du dort rausfinden und festlegen, wo du den Dialog aufrufst.</p>
<p>Zeig ein wenig Code, wenn du es nicht schaffst, dann kann man dir besser helfen. <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/562068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562068</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:30:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:40:45 GMT]]></title><description><![CDATA[<p>Jo, erst ma danke fuer die schnelle Antwort.<br />
Hier mein Aufruf in der Klasse CFormView:</p>
<pre><code>void CTempcon_ParametrierungView::OnParametrierungConfigurate() 
{
	CConfiguration * Dialog = new CConfiguration;
	Dialog-&gt;DoModal();
}
</code></pre>
<p>Dann in der Klasse CDialog:</p>
<pre><code>if (Conf-&gt;???????)                      // Conf ist die Fremdvariable
	{
		CWnd * pWnd_channel = NULL;

		for(int i=0; i&lt;6; i++)          //hier werden nur Checkboxen                                
                                                //ausgewertet
		{
			pWnd_channel = (CButton*)GetDlgItem(channel[i]);

			if(pWnd_channel-&gt;GetSafeHwnd())
			{

				if ( ((CButton*)GetDlgItem(channel[i]))-&gt;GetCheck() == 1)
				{

						U_bit_byte3 Configuration;
						U_bit_byte3 Daten;
                                                //hier kommt dann schliesslich 
                                                //der Aufruf der Membervariablen 
                                                //der Klasse CFormView
                                                //hab mir das etwa so gedacht
                                                //Conf-&gt;Membervariable
}
</code></pre>
<p>Waer cool wenn du mir helfen koenntest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/562080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562080</guid><dc:creator><![CDATA[Schwabi]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:40:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:45:47 GMT]]></title><description><![CDATA[<p>Achso, wie setz ich den Zeiger den im Konstruktor auf NULL, wo??</p>
<p>Hier die Header Datei:</p>
<pre><code>/////////////////////////////////////////////////////////////////////////////
// Dialogfeld CConfiguration 

class CConfiguration : public CDialog
{
// Konstruktion
public:
	CConfiguration(CWnd* pParent = NULL);   // Standardkonstruktor

// Dialogfelddaten
	//{{AFX_DATA(CConfiguration)
	enum { IDD = IDD_DIALOG1 };
	BOOL	m_check1;
	CTempcon_ParametrierungView*	Conf ;
	//}}AFX_DATA

	int channel[5];

// Überschreibungen
	// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
	//{{AFX_VIRTUAL(CConfiguration)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung
</code></pre>
<p>Einen Teil hab ich weggelassen, zwecks der laenge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/562084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562084</guid><dc:creator><![CDATA[Schwabi]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:45:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:49:17 GMT]]></title><description><![CDATA[<p>Hmm, so ganz steige ich durch deinen Quellcode nicht durch, aber ich versuche es trotzdem mal.</p>
<p>Ich hoffe der Zeiger soll auf den CTempcon_ParametrierungView zeigen und ist public, dann sieht das so aus:</p>
<pre><code class="language-cpp">void CTempcon_ParametrierungView::OnParametrierungConfigurate() 
{
    CConfiguration * Dialog = new CConfiguration;
    Dialog-&gt;Conf = this;
    Dialog-&gt;DoModal();
}
</code></pre>
<p>So sollte das gehen. <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/562089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562089</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 11:53:58 GMT]]></title><description><![CDATA[<p>Hey, spitze. <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="😃"
    /> Haette nich gedacht das mir einer so schnell helfen kann.<br />
Konntest du mir vielleicht noch sagen was das &quot;Dialog-&gt;Conf = this&quot; bedeutet, ich kanns mir vorstellen, aber nich erklaeren, wenn du weisst was ich meine. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/562092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562092</guid><dc:creator><![CDATA[Schwabi]]></dc:creator><pubDate>Fri, 16 Jul 2004 11:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 12:06:53 GMT]]></title><description><![CDATA[<p>So, den einen Beitrag hatte ich übersehen:<br />
Der Konstruktor ist im cpp, nicht im header <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Das ist die Funktion CConfiguration::CConfiguration(CWnd* pParent)<br />
da schreibst du einfach</p>
<pre><code class="language-cpp">Conf = NULL;
</code></pre>
<p>rein.</p>
<p>Was der this Zeiger ist, liest du am besten in einem Buch nach. Ich hab mir gemerkt, das ist ein Zeiger auf die aktuelle Klasse. <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>
<p>Du bist in dem View, auf den gezeigt werden soll. Deswegen kannst du den this-Zeiger übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/562108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562108</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 16 Jul 2004 12:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriff auf CFormView on Fri, 16 Jul 2004 12:14:44 GMT]]></title><description><![CDATA[<p>Alles klar.<br />
Nochmals danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/562114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/562114</guid><dc:creator><![CDATA[Schwabi]]></dc:creator><pubDate>Fri, 16 Jul 2004 12:14:44 GMT</pubDate></item></channel></rss>