<?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[Dringende Nachrichtenbehandlung vor block. Fkt. ausführen]]></title><description><![CDATA[<p>Hallo Leute,<br />
hoffe ich finde hier eine Lösung meiner Herausforderung.</p>
<p>Ich versende mit SendMessage() eine selbst gebaute Nachricht, welche einen Text in ein bestimmtes Mehrzeiliges Editfield schreiben soll.<br />
Direkt in der nächsten Zeile wird eine Anfrage an einen Server geschickt, und mein Programm wartet auf die Antwort vom Server.<br />
Es wird durch eine EmpfangsFunktion blockiert, solange bis der Server sich zurückmeldet.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Der Text für das Editfield wird nicht angezeigt bevor der Server sich zurückmeldet, da ist es aber bereits zu spät. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>Die Nachricht müsste eigentlich abgearbeitet worden sein, ist ja SendMessage() und nicht PostMessage().<br />
Anscheinend ist die Zeit zum ändern des Textes zu kurz, er springt vorher schon in die EmpfangsFunktion und diese blockiert halt alles.</p>
<p>Hat jmd eine gute Idee oder bereits Erfahrung mit sowas gemacht ???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165928/dringende-nachrichtenbehandlung-vor-block-fkt-ausführen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 05:58:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165928.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Nov 2006 10:59:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 10:59:43 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
hoffe ich finde hier eine Lösung meiner Herausforderung.</p>
<p>Ich versende mit SendMessage() eine selbst gebaute Nachricht, welche einen Text in ein bestimmtes Mehrzeiliges Editfield schreiben soll.<br />
Direkt in der nächsten Zeile wird eine Anfrage an einen Server geschickt, und mein Programm wartet auf die Antwort vom Server.<br />
Es wird durch eine EmpfangsFunktion blockiert, solange bis der Server sich zurückmeldet.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Der Text für das Editfield wird nicht angezeigt bevor der Server sich zurückmeldet, da ist es aber bereits zu spät. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>Die Nachricht müsste eigentlich abgearbeitet worden sein, ist ja SendMessage() und nicht PostMessage().<br />
Anscheinend ist die Zeit zum ändern des Textes zu kurz, er springt vorher schon in die EmpfangsFunktion und diese blockiert halt alles.</p>
<p>Hat jmd eine gute Idee oder bereits Erfahrung mit sowas gemacht ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180609</guid><dc:creator><![CDATA[Daniellus]]></dc:creator><pubDate>Fri, 24 Nov 2006 10:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 11:02:33 GMT]]></title><description><![CDATA[<p>Die Nachricht wurde schon verarbeitet, allerdings hatte das Programm noch keine Zeit, das auf dem Bildschirm darzustellen (das macht er erst in der WM_PAINT-Verarbeitung - und die startet erst, wenn du nichts wichtigeres zu tun hast). Eventuell wäre es eine Lösung, die Server-Anfrage in einen extra Thread auszulagern, währnd das Hauptprogramm sich wieder um seine sonstigen Angelegenheiten kümmern kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180614</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 24 Nov 2006 11:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 11:03:09 GMT]]></title><description><![CDATA[<p>Das Anzeigen von COntrols erfolgt asynchron und erst wenn die Nachrichtenschleife nichts mehrzu tun hat.<br />
Wenn der Text als in das Control gesendet wurde (SetWindowText, ReplaceSel), dann kannst Du mit UpdateWindow ein Anzeigen sofort erzwingen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180615</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 24 Nov 2006 11:03:09 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 12:53:42 GMT]]></title><description><![CDATA[<p>Große Klasse, mit UpdateWindow() klappt das Wunderbar.<br />
Und die WM_PAINT-Geschichte hat mich auf eine IDEE <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> gebracht:</p>
<pre><code class="language-cpp">GetDlgItem(IDC_EDIT)-&gt;SetWindowText(&quot;hastenichgesehen&quot;);
GetDlgItem(IDC_EDIT)-&gt;SendMessage(WM_PAINT);
</code></pre>
<p>Klappt auch wunderbar und es wird nur das eine ControlItem neu gemalt.<br />
Mir ist nun klar, das WM_PAINT ebenfalls in die NachrichtenSchlange gepackt wird, dachte eine Änderung der Kontrollfelder hat automatisch höhere Priorität<br />
und damit sofortige Ausführung zur Folge.</p>
<p>Nun ist das WE doch noch gerettet. <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>Vielen Dank!!! <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/1180683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180683</guid><dc:creator><![CDATA[Daniellus]]></dc:creator><pubDate>Fri, 24 Nov 2006 12:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 12:57:34 GMT]]></title><description><![CDATA[<p>Daniellus schrieb:</p>
<blockquote>
<p>Mir ist nun klar, das WM_PAINT ebenfalls in die NachrichtenSchlange gepackt wird, dachte eine Änderung der Kontrollfelder hat automatisch höhere Priorität</p>
</blockquote>
<p>Ja, die Änderung wird sofort ausgeführt, aber das Darstellen steht in der Priorität ganz weit unten (und wird, wenn du es nicht selber anordnest, erst in der Idle-Verarbeitung erledigt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180686</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 24 Nov 2006 12:57:34 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 13:50:53 GMT]]></title><description><![CDATA[<p>Daniellus schrieb:</p>
<blockquote>
<pre><code class="language-cpp">GetDlgItem(IDC_EDIT)-&gt;SetWindowText(&quot;hastenichgesehen&quot;);
GetDlgItem(IDC_EDIT)-&gt;SendMessage(WM_PAINT);
</code></pre>
</blockquote>
<p>Am Besten schmeißt Du das sofort wieder raus. WM_PAINT darf nicht selbst versendet werden! UpdateWindow und RedrawWindow sind die einzig korrekten Methoden einen Redraw zu erzwingen!</p>
<p>Nur weil solch eine Nachricht existiert kann man sie nicht einfach versenden! Gleiches gilt z.B: für WM_SETFOCUS/WM_KILLFOCUS und viele andere Nachrichten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180717</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 24 Nov 2006 13:50:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 14:05:37 GMT]]></title><description><![CDATA[<p>Hallo Martin,</p>
<p>könntest du mir bitte erklären warum man diese Nachricht nicht selber versenden darf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180737</guid><dc:creator><![CDATA[Daniellus]]></dc:creator><pubDate>Fri, 24 Nov 2006 14:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 15:22:37 GMT]]></title><description><![CDATA[<p>WM_PAINT ist eine Systembedingte Nachricht die automatisch, die automatisch durch PeekMessage/GetMessage erzeugt wird. Diese Nachricht wird bedingt durch invalidierte Bereiche erzeugt wird.<br />
Das Problem ist, dass Du mit den selbsterzeugten Nachrichten &quot;die Automatik&quot; gut durcheinander bringst.</p>
<p>Aber das steht doch klar in der Doku gleich als erster Satz:<br />
<em>The WM_PAINT message is generated by the system and should not be sent by an application. To force a window to draw into a specific device context, use the WM_PRINT or WM_PRINTCLIENT message. Note that this requires the target window to support the WM_PRINTCLIENT message. Most common controls support the WM_PRINTCLIENT message.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180789</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 24 Nov 2006 15:22:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 16:21:24 GMT]]></title><description><![CDATA[<p>Klar steht was in der Doku, aber nicht das es verboten ist.</p>
<p>Weil du meintest &quot;man darf nicht&quot;.<br />
Du hast da wohl was falsch übersetzt.</p>
<p>&quot;should not&quot; heißt man &quot;sollte nicht&quot;!<br />
&quot;must not&quot; heißt man &quot;darf nicht&quot;!</p>
<p>Halb so wild, ein bisschen English++ kann nicht schaden.</p>
<p>Werde diese Nachricht nun selbstverständlich nicht mehr selber verschicken, die denken sich schon was dabei!</p>
<p>Schönes Wochenende <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/1180816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180816</guid><dc:creator><![CDATA[Daniellus]]></dc:creator><pubDate>Fri, 24 Nov 2006 16:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to Dringende Nachrichtenbehandlung vor block. Fkt. ausführen on Fri, 24 Nov 2006 16:36:23 GMT]]></title><description><![CDATA[<p>&quot;Must not&quot; wirst Du in der MSDN kaum finden!<br />
Nur mal so als Anmerkung.</p>
<p>Ja meine Wortwahl war härter, aber oft genug werden hier im Forum Lösungsmöglichkeiten mit dem Versenden von Nachrichten angeboten, die man nicht versenden sollte, oder die Seiteneffekte auslösen, dass ich mich lieber etwas härter ausdrücke... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
Und manchmal habe ich auch keine Lust zu diskutieren, wenn man &quot;sollte&quot; schreibt lädt das gerade zu ein eine Diskussion anzufangen! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1180831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180831</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 24 Nov 2006 16:36:23 GMT</pubDate></item></channel></rss>