<?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[Dialogklasse und Thread]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich habe eine Anwendung mit einer Dialogklasse vom Typ CDialog und einer einer Threadklasse vom Typ CwinThread. Jetzt möchte ich aus der Threadfunktion etwas in die Editbox der Dialogklasse schreiben. Also so:</p>
<p>BOOL CMyThread::InitInstance()<br />
{</p>
<p>CDialogThreadDlg::m_edit = &quot;Test&quot;; //hier in die Editbox schreiben</p>
<p>return TRUE;<br />
}</p>
<p>Dabei bekomme ich die Fehlermeldung:</p>
<p>error C2597: Ungültiger Verweis auf nicht-statischen Member 'CDialogThreadDlg::m_edit'</p>
<p>Die Header Datei der Dialogklasse habe ich eingebunden.</p>
<p>Könnt Ihr nir helfen?</p>
<p>Danke im voraus.</p>
<p>Grüssse<br />
xthing</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156358/dialogklasse-und-thread</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 20:13:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156358.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Aug 2006 07:09:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 07:09:10 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich habe eine Anwendung mit einer Dialogklasse vom Typ CDialog und einer einer Threadklasse vom Typ CwinThread. Jetzt möchte ich aus der Threadfunktion etwas in die Editbox der Dialogklasse schreiben. Also so:</p>
<p>BOOL CMyThread::InitInstance()<br />
{</p>
<p>CDialogThreadDlg::m_edit = &quot;Test&quot;; //hier in die Editbox schreiben</p>
<p>return TRUE;<br />
}</p>
<p>Dabei bekomme ich die Fehlermeldung:</p>
<p>error C2597: Ungültiger Verweis auf nicht-statischen Member 'CDialogThreadDlg::m_edit'</p>
<p>Die Header Datei der Dialogklasse habe ich eingebunden.</p>
<p>Könnt Ihr nir helfen?</p>
<p>Danke im voraus.</p>
<p>Grüssse<br />
xthing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118017</guid><dc:creator><![CDATA[xthing]]></dc:creator><pubDate>Wed, 16 Aug 2006 07:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:04:16 GMT]]></title><description><![CDATA[<p>Du musst dem Thread einen Zeiger auf Dein Dialog oder Edit übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118037</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:10:16 GMT]]></title><description><![CDATA[<p>Airdamn schrieb:</p>
<blockquote>
<p>Du musst dem Thread einen Zeiger auf Dein Dialog oder Edit übergeben.</p>
</blockquote>
<p>wenn sich mfc-klassen gegenseitig aus unterschiedlichen threads aufrufen, kann das in's auge gehen. besser: mit ::SendMessage(hwnd_des_editcontrols,...) arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118041</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:10:16 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:18:40 GMT]]></title><description><![CDATA[<p>xthing schrieb:</p>
<blockquote>
<p>CDialogThreadDlg::m_edit = &quot;Test&quot;; //hier in die Editbox schreiben</p>
</blockquote>
<p>Wieso hier &quot;::&quot; und nicht &quot;.&quot;? Ist m_edit ein statischer Member Deiner Klasse? Zu Deinem eigentlichen Problem: zum Thema Dialog und Thread gab es hier schon genug Beiträge, einfach mal die Suchfunktion bemühen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118048</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:17:17 GMT]]></title><description><![CDATA[<p>Hi, danke für den Hinweis. Kannst Du mir das etwas genauer schildern. Wie bekomme ich den hwnd des Editfeldes und mit welchen Parametern muss ich ::SendMessage aufrufen.</p>
<p>Vielen Dank noch mal.</p>
<p>Grüsse<br />
xthing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118049</guid><dc:creator><![CDATA[xthing]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:17:17 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:19:05 GMT]]></title><description><![CDATA[<p>net schrieb:</p>
<blockquote>
<p>Airdamn schrieb:</p>
<blockquote>
<p>Du musst dem Thread einen Zeiger auf Dein Dialog oder Edit übergeben.</p>
</blockquote>
<p>wenn sich mfc-klassen gegenseitig aus unterschiedlichen threads aufrufen, kann das in's auge gehen. besser: mit ::SendMessage(hwnd_des_editcontrols,...) arbeiten.</p>
</blockquote>
<p>Das hab ich schon öfter gehört, habs aber bei mir noch nicht erleben dürfen.<br />
Man könnte ja auch den SafeHwnd des Dialogs/Edits übergeben...was Du wohl meinst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118051</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:23:55 GMT]]></title><description><![CDATA[<p>Versuch es doch mal in der Dokumentation (MSDN Library) mit diesen beiden:<br />
CWnd::m_hWnd<br />
CWnd::GetSafeHwnd()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118054</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 08:28:36 GMT]]></title><description><![CDATA[<p>xthing schrieb:</p>
<blockquote>
<p>Hi, danke für den Hinweis. Kannst Du mir das etwas genauer schildern. Wie bekomme ich den hwnd des Editfeldes und mit welchen Parametern muss ich ::SendMessage aufrufen.</p>
<p>Vielen Dank noch mal.</p>
<p>Grüsse<br />
xthing</p>
</blockquote>
<p>aus dem Dialog heraus, z.B. beim erstellen des Threads:</p>
<pre><code class="language-cpp">// der Konstruktor muss ein HWND annehmen und sich den speichern.
CMyThread thread( editfeld.GetSafeHwnd()); //editfeld mit Deinem Edit ersetzen
</code></pre>
<p>aus dem Thread heraus:</p>
<pre><code class="language-cpp">TCHAR szText[] = _T( &quot;Text&quot; );
::SendMessage( hWndEdit, WM_SETTEXT, (WPARAM)0, (LPARAM) szText ); //hWndEdit ist das übergebene HWND beim Konstruktor
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1118059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118059</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 16 Aug 2006 08:28:36 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 09:09:35 GMT]]></title><description><![CDATA[<p>Danke, aber muss ich ein UpdateData(false) aufrufen, damit der Text angezeigt wird? Wenn ja, gibt das die Fehlermeldung: Debug Assertion failed!! bzw. Es wurde versucht, einen nicht unterstützten Vorgand auszuführen.</p>
<p>Kannst du mir dan noch mal nen Tipp geben.</p>
<p>Danke noch mal<br />
Grüsse<br />
xthing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118091</guid><dc:creator><![CDATA[xthing]]></dc:creator><pubDate>Wed, 16 Aug 2006 09:09:35 GMT</pubDate></item><item><title><![CDATA[Reply to Dialogklasse und Thread on Wed, 16 Aug 2006 09:17:06 GMT]]></title><description><![CDATA[<p>Ok Du hast wahrscheinlich Deinem Edit-Feld einen CString zugeordnet...<br />
dann mach es so:</p>
<pre><code class="language-cpp">CWnd* pWnd = GetDlgItem( IDC_DEIN_EDIT ); // IDC_DEIN_EDIT mit der ID Deines Edits ersetzen
CMyThread thread( pWnd-&gt;GetSafeHwnd());
</code></pre>
<p>aus dem Thread heraus:</p>
<pre><code class="language-cpp">TCHAR szText[] = _T( &quot;Text&quot; );
::SendMessage( hWndEdit, WM_SETTEXT, (WPARAM)0, (LPARAM) szText );
</code></pre>
<p>UpdateData(FALSE) brauchst Du nicht, um den Text _anzuzeigen_, da Du hier direkt über das Edit als Control gehst und nicht über eine Variable...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118100</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 16 Aug 2006 09:17:06 GMT</pubDate></item></channel></rss>