<?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[CreateThread - Probleme unter WindowsCE]]></title><description><![CDATA[<p>Hallo ...</p>
<p>Ich möchte unter WindowsCe in einer Anwendung in einem zusätzlich erzeugten Thread ein Textfile alle 5 sek. pollen.</p>
<p>Ich habe den Thread innerhalb einer Klasse angelegt und aufgerufen.<br />
Jetzt habe ich aber das Problem, dass wenn der Thread aktiv ist, die gesamte Anwendungsoberfläche steht. Das soll natürlich nicht so sein, daher ja auch eigentlich der Thread. <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="😉"
    /><br />
Ich habe auch schon mal die Priorität des Threads herabgesetzt, aber gebracht hat das auch nix...</p>
<p>Kann mir da vielleicht jmd. weiterhelfen, wie ich das entwedet mit dem Code unten machen kann oder eine andere Idee vorschlagen wie ich das Problem lösen kann?</p>
<pre><code>class CCSILogApp
{
public:

	void PollingFile();

	DWORD WINAPI ThreadProc(LPVOID lpParam);
};

void CCSILogApp::PollingFile()   // ruft Thread auf!!!!!
{

	HANDLE hThread = NULL;
	DWORD dwThreadID = 0;
        BOOL result = FALSE;

	hThread = CreateThread (NULL, 
                                 0, 
                                (LPTHREAD_START_ROUTINE)ThreadProc(NULL),
                                 0, 
                                 0, 
                                &amp;dwThreadID); 

	result = SetThreadPriority(hThread, THREAD_PRIORITY_LOWEST);
}

DWORD WINAPI CCSILogApp::ThreadProc(LPVOID lpParam) {

	while(1) {  // Endet nie - das ist schon klar ;-)

		// öffne, lese, schliesse FILE... etc.
		Sleep(5000);
	}

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/140564/createthread-probleme-unter-windowsce</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 03:01:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140564.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 17:14:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateThread - Probleme unter WindowsCE on Wed, 15 Mar 2006 17:14:20 GMT]]></title><description><![CDATA[<p>Hallo ...</p>
<p>Ich möchte unter WindowsCe in einer Anwendung in einem zusätzlich erzeugten Thread ein Textfile alle 5 sek. pollen.</p>
<p>Ich habe den Thread innerhalb einer Klasse angelegt und aufgerufen.<br />
Jetzt habe ich aber das Problem, dass wenn der Thread aktiv ist, die gesamte Anwendungsoberfläche steht. Das soll natürlich nicht so sein, daher ja auch eigentlich der Thread. <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="😉"
    /><br />
Ich habe auch schon mal die Priorität des Threads herabgesetzt, aber gebracht hat das auch nix...</p>
<p>Kann mir da vielleicht jmd. weiterhelfen, wie ich das entwedet mit dem Code unten machen kann oder eine andere Idee vorschlagen wie ich das Problem lösen kann?</p>
<pre><code>class CCSILogApp
{
public:

	void PollingFile();

	DWORD WINAPI ThreadProc(LPVOID lpParam);
};

void CCSILogApp::PollingFile()   // ruft Thread auf!!!!!
{

	HANDLE hThread = NULL;
	DWORD dwThreadID = 0;
        BOOL result = FALSE;

	hThread = CreateThread (NULL, 
                                 0, 
                                (LPTHREAD_START_ROUTINE)ThreadProc(NULL),
                                 0, 
                                 0, 
                                &amp;dwThreadID); 

	result = SetThreadPriority(hThread, THREAD_PRIORITY_LOWEST);
}

DWORD WINAPI CCSILogApp::ThreadProc(LPVOID lpParam) {

	while(1) {  // Endet nie - das ist schon klar ;-)

		// öffne, lese, schliesse FILE... etc.
		Sleep(5000);
	}

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1016970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016970</guid><dc:creator><![CDATA[MarcusFrankfurt]]></dc:creator><pubDate>Wed, 15 Mar 2006 17:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Probleme unter WindowsCE on Wed, 15 Mar 2006 18:20:57 GMT]]></title><description><![CDATA[<p>Hat da der Compiler nicht gemeckert? Du kannst keine nicht-statische Funktion der Klasse als Callback angeben. Mach die Callback &quot;static&quot; und übergib einen Zeiger auf die Klasseninstanz als Startparameter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017012</guid><dc:creator><![CDATA[mgs_]]></dc:creator><pubDate>Wed, 15 Mar 2006 18:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Probleme unter WindowsCE on Wed, 15 Mar 2006 19:11:10 GMT]]></title><description><![CDATA[<p>So ganz verstehen tue ich das momentan nicht, was ich da machen soll.<br />
A pro pos... Der Code ist so lauffähig bei mir wie ich ihn gepostet habe. Der Compiler hat nicht gemeckert!</p>
<p>Könntest Du mir das ein bißchen näher mit Code erklären! Wäre echt super nett von Dir...</p>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017061</guid><dc:creator><![CDATA[MarcusFrankfurt]]></dc:creator><pubDate>Wed, 15 Mar 2006 19:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Probleme unter WindowsCE on Wed, 15 Mar 2006 19:15:52 GMT]]></title><description><![CDATA[<p>MarcusFrankfurt schrieb:</p>
<blockquote>
<p>A pro pos... Der Code ist so lauffähig bei mir wie ich ihn gepostet habe. Der Compiler hat nicht gemeckert!</p>
</blockquote>
<p>Wie soll er auch, wenn du ihm mit dem Cast den Mund verbietest?</p>
<p>Das Problem ist, dass du nicht den Zeiger auf deine Threadfunktion übergibst, sondern den Rückgabewert, denn du benutzt ThreadProc(NULL), das ist kein Funktionszeiger, sondern ein Aufruf.</p>
<p>Du startest also gar keinen Thread, sondern rufst ThreadProc direkt auf. Da ist es nicht weiter verwunderlich, dass der Rest der Anwendung hängt.</p>
<p>Mach die Funktion static, und wenn der Compiler dein Programm ohne den Cast auf LPTHREAD_START_ROUTINE schluckt, dann kannst du von &quot;lauffähig&quot; reden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017067</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Mar 2006 19:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to CreateThread - Probleme unter WindowsCE on Wed, 15 Mar 2006 19:19:37 GMT]]></title><description><![CDATA[<p>Ahhh .. was habe ich denn da gemacht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke für den Hinweis und Deine Hilfe ;-))))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1017072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017072</guid><dc:creator><![CDATA[MarcusFrankfurt]]></dc:creator><pubDate>Wed, 15 Mar 2006 19:19:37 GMT</pubDate></item></channel></rss>