<?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[Signale und Threads]]></title><description><![CDATA[<p>Moin Leute,</p>
<p>ich hab ein etwas blödes Problem.</p>
<p>Also 1.<br />
ich habe einen Thread und eine Funktion, in der Funktion rufe ich den<br />
Thread auf. Der Thread spricht über einen seriellen Anschluss eine<br />
Anlage an und fordert sie auf, mir Daten zu senden.<br />
Nun ist es nur so, das der Thread die Daten irgendwie nicht<br />
empfangen kann, nur einzelne Dateien, aber nicht das Gesamte Datenpacket.</p>
<p>Solange die Daten gesendet werden, warte ich in der Funktion in<br />
einer while Schleife darauf und wenn die Daten angekommen sind,<br />
wird eine Variable gesetzt und die while Schleife verlassen.<br />
Nun ist es aber so, das ich aus der while Schleife nicht mehr rauskomme.</p>
<p>Da dachte ich mir, das evtl mit Signalen zu lösen,<br />
wenn die Daten angekommen sind, sende ich ein Signal<br />
an die Funktion und verlasse danach die while Schleife.</p>
<p>Was meint ihr dazu ??</p>
<p>2. Wieso kann ich in dem Thread keine Windows Fensterchen aufrufen ??<br />
Zum Beispiel die: MessageDlg(&quot;Error&quot;, mtError, TMsgDlgButtons() &lt;&lt; mbOK, 0 )<br />
wenn er das Fenster dann öffnen soll, hängt er sich komplett auf...</p>
<p>Danke schonmal im vor raus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154105/signale-und-threads</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 13:35:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154105.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Jul 2006 13:46:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Signale und Threads on Mon, 24 Jul 2006 13:46:02 GMT]]></title><description><![CDATA[<p>Moin Leute,</p>
<p>ich hab ein etwas blödes Problem.</p>
<p>Also 1.<br />
ich habe einen Thread und eine Funktion, in der Funktion rufe ich den<br />
Thread auf. Der Thread spricht über einen seriellen Anschluss eine<br />
Anlage an und fordert sie auf, mir Daten zu senden.<br />
Nun ist es nur so, das der Thread die Daten irgendwie nicht<br />
empfangen kann, nur einzelne Dateien, aber nicht das Gesamte Datenpacket.</p>
<p>Solange die Daten gesendet werden, warte ich in der Funktion in<br />
einer while Schleife darauf und wenn die Daten angekommen sind,<br />
wird eine Variable gesetzt und die while Schleife verlassen.<br />
Nun ist es aber so, das ich aus der while Schleife nicht mehr rauskomme.</p>
<p>Da dachte ich mir, das evtl mit Signalen zu lösen,<br />
wenn die Daten angekommen sind, sende ich ein Signal<br />
an die Funktion und verlasse danach die while Schleife.</p>
<p>Was meint ihr dazu ??</p>
<p>2. Wieso kann ich in dem Thread keine Windows Fensterchen aufrufen ??<br />
Zum Beispiel die: MessageDlg(&quot;Error&quot;, mtError, TMsgDlgButtons() &lt;&lt; mbOK, 0 )<br />
wenn er das Fenster dann öffnen soll, hängt er sich komplett auf...</p>
<p>Danke schonmal im vor raus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103186</guid><dc:creator><![CDATA[budili]]></dc:creator><pubDate>Mon, 24 Jul 2006 13:46:02 GMT</pubDate></item><item><title><![CDATA[Reply to Signale und Threads on Mon, 24 Jul 2006 14:57:55 GMT]]></title><description><![CDATA[<p>budili schrieb:</p>
<blockquote>
<p>Solange die Daten gesendet werden, warte ich in der Funktion in<br />
einer while Schleife darauf und wenn die Daten angekommen sind,<br />
wird eine Variable gesetzt und die while Schleife verlassen.<br />
Nun ist es aber so, das ich aus der while Schleife nicht mehr rauskomme.</p>
</blockquote>
<p>vielleicht solltest du in die 'while schleife' ein 'Sleep(0)' einbauen, damit der andere thread auch genug rechenzeit bekommt?</p>
<p>budili schrieb:</p>
<blockquote>
<p>Da dachte ich mir, das evtl mit Signalen zu lösen,<br />
wenn die Daten angekommen sind, sende ich ein Signal<br />
an die Funktion und verlasse danach die while Schleife.</p>
</blockquote>
<p>so'n signal könnteste z.b. mit 'ner globalen variablen machen, also in der schleife ständig die variable abfragen...</p>
<p>btw: ich weiss ja nicht wie du das machst, aber eigentlich brauchste keine polling-techniken bei der seriellen. windoze hat schon 'ne pufferung eingebaut und apis umd daten zu senden/empfangen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103240</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Mon, 24 Jul 2006 14:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to Signale und Threads on Tue, 25 Jul 2006 05:57:00 GMT]]></title><description><![CDATA[<p>hm was bringt das sleep( 0 ) ??</p>
<p>also mit der Variable hab ich das auch so gemacht,<br />
also ne globale Variable und die wird in der while Schleife<br />
permanent geprüft. Aber irgendwie klappt das net so ganz....</p>
<p>Ich glaube der Thread läuft irgendwie nicht parallel zu<br />
dem Hauptprogramm....</p>
<p>Weiß auch nicht so genau woran das liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103555</guid><dc:creator><![CDATA[budili]]></dc:creator><pubDate>Tue, 25 Jul 2006 05:57:00 GMT</pubDate></item></channel></rss>