<?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[Texteingabe mit CString ?]]></title><description><![CDATA[<p>Also ich habe mir einen Button erstellt, der eine Dialogbox öffnet in der sich ein Eingabefeld befindet.<br />
Ich möchte nun gerne den Inhalt Speichern um ihn anschließend in der OnPaint von ChildView verwenden zu können.<br />
Es handelt sich um ein STI Fenster.</p>
<p>Ich bin wie folgt vorgegangen:</p>
<p>Ich habe zunächst dem Dialogfeld eine Variable zugewisen</p>
<p>Das sieht dann in der Dialog Klasse wie folgt aus:</p>
<pre><code>public:
	CDlgTEXT_EINGABE(CWnd* pParent = NULL);   // Standardkonstruktor

// Dialogfelddaten
	//{{AFX_DATA(CDlgTEXT_EINGABE)
	enum { IDD = IDD_TEXT_EINGABE };
	CString	m_text_eingabe;         //für Text Speichern
	//}}AFX_DATA
</code></pre>
<p>Nun hab ich in der ChildView eine ähnliche Variable public deklariert.</p>
<pre><code>// Implementierung
public:
	CString textEingabe;                  //Text Speichern
	virtual ~CChildView();
</code></pre>
<p>Der Funktion für den Button befindet sich in der Main Frame<br />
Dort schiebe ich den Inhalt von der einen Variable in die andere:</p>
<pre><code>void CMainFrame::OnButtonTexteingabe() 
{
	CDlgTEXT_EINGABE dlg;

	if (dlg.DoModal() == IDOK)
	{
		m_wndView.textEingabe= dlg.m_text_eingabe;
	}

}
</code></pre>
<p>Wenn ich jetzt mein Programm ausführe und sich die dialogbox öffne und einen Text zur laufzeit eingebe, stürtzt das Programm zur laufzeit ab.</p>
<p>Hab ich einen Denkfehler gemacht?<br />
Oder ist CString der falsche um Texteingabe zu speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195103/texteingabe-mit-cstring</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 21:59:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195103.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Oct 2007 11:22:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Texteingabe mit CString ? on Sun, 14 Oct 2007 11:22:47 GMT]]></title><description><![CDATA[<p>Also ich habe mir einen Button erstellt, der eine Dialogbox öffnet in der sich ein Eingabefeld befindet.<br />
Ich möchte nun gerne den Inhalt Speichern um ihn anschließend in der OnPaint von ChildView verwenden zu können.<br />
Es handelt sich um ein STI Fenster.</p>
<p>Ich bin wie folgt vorgegangen:</p>
<p>Ich habe zunächst dem Dialogfeld eine Variable zugewisen</p>
<p>Das sieht dann in der Dialog Klasse wie folgt aus:</p>
<pre><code>public:
	CDlgTEXT_EINGABE(CWnd* pParent = NULL);   // Standardkonstruktor

// Dialogfelddaten
	//{{AFX_DATA(CDlgTEXT_EINGABE)
	enum { IDD = IDD_TEXT_EINGABE };
	CString	m_text_eingabe;         //für Text Speichern
	//}}AFX_DATA
</code></pre>
<p>Nun hab ich in der ChildView eine ähnliche Variable public deklariert.</p>
<pre><code>// Implementierung
public:
	CString textEingabe;                  //Text Speichern
	virtual ~CChildView();
</code></pre>
<p>Der Funktion für den Button befindet sich in der Main Frame<br />
Dort schiebe ich den Inhalt von der einen Variable in die andere:</p>
<pre><code>void CMainFrame::OnButtonTexteingabe() 
{
	CDlgTEXT_EINGABE dlg;

	if (dlg.DoModal() == IDOK)
	{
		m_wndView.textEingabe= dlg.m_text_eingabe;
	}

}
</code></pre>
<p>Wenn ich jetzt mein Programm ausführe und sich die dialogbox öffne und einen Text zur laufzeit eingebe, stürtzt das Programm zur laufzeit ab.</p>
<p>Hab ich einen Denkfehler gemacht?<br />
Oder ist CString der falsche um Texteingabe zu speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384802</guid><dc:creator><![CDATA[Dragonslayer]]></dc:creator><pubDate>Sun, 14 Oct 2007 11:22:47 GMT</pubDate></item><item><title><![CDATA[Reply to Texteingabe mit CString ? on Sun, 14 Oct 2007 14:40:20 GMT]]></title><description><![CDATA[<p>Und wo stürzt es ab?<br />
Alles was ich soweit sehen kann ist richtig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384943</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 14 Oct 2007 14:40:20 GMT</pubDate></item><item><title><![CDATA[Reply to Texteingabe mit CString ? on Mon, 15 Oct 2007 09:06:08 GMT]]></title><description><![CDATA[<p>ich vermute mal das du den text aus dem control liest erst wenn du danach fragst<br />
das problem ist, das edit control wurde nach dem IDOK schon zerstoert</p>
<p>machs am besten so das die variable &quot;m_text_eingabe&quot; geschrieben wird bevor das OK ausgefuehrt wird<br />
also</p>
<pre><code class="language-cpp">void Blabla::OnOk()
{
    this-&gt;GetDlgItemText(IDC_EDIT, m_text_eingabe);
    CWnd::OnOk();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1385370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385370</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Mon, 15 Oct 2007 09:06:08 GMT</pubDate></item><item><title><![CDATA[Reply to Texteingabe mit CString ? on Mon, 15 Oct 2007 14:36:24 GMT]]></title><description><![CDATA[<p>Das Programm ist zur Laufzeit abgestürtzt, wenn ich etwas in die dialogbox eingeben habe und ok eingeben habe.</p>
<p>Aber ich hab den Fehler gefunden <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>ich habe im ChildView Konstruktor vergessen die String Variable mit einem standartwert zu initalisieren.</p>
<pre><code>CChildView::CChildView()
{
	textEingabe = _T(&quot;&quot;);              

}
</code></pre>
<p>da diese Zuweisung Fehlte und beim anderen CString</p>
<pre><code>CDlgTEXT_EINGABE::CDlgTEXT_EINGABE(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgTEXT_EINGABE::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgTEXT_EINGABE)
	m_text_eingabe = _T(&quot;&quot;);
	//}}AFX_DATA_INIT
}
</code></pre>
<p>gemacht wurde crashte das Programm offenbar wenn ich<br />
in der OnButtonTexteingabe</p>
<pre><code>m_wndView.textEingabe= dlg.m_text_eingabe;    //Weitergabe des
</code></pre>
<p>mache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385695</guid><dc:creator><![CDATA[Dragonslayer]]></dc:creator><pubDate>Mon, 15 Oct 2007 14:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to Texteingabe mit CString ? on Mon, 15 Oct 2007 15:59:12 GMT]]></title><description><![CDATA[<p>1. Das kann nie und nimmer die Ursache sein für einen Crash. Ein CString wird automatisch mit einem leeren String initialisiert.</p>
<p>2. Dein Code initialisiert CString zweimal!<br />
Besser:<br />
CChildView::CChildView()<br />
: textEingabe(_T(&quot;&quot;))<br />
{<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385772</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 15 Oct 2007 15:59:12 GMT</pubDate></item></channel></rss>