<?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[Problem mit selbst geschribenen Kopierprogramm]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe ein kleines Kopierprogramm geschrieben, das Daten von einem USB-Stick auf die Festplatte kopiert. Soweit kein Problem.</p>
<p>Allerdings möchte ich in einem Label anzeigen, welche Datei gerade kopiert wird.</p>
<p>Jetzt zu meinem Problem, wenn ich das implementiert habe und dies Teste, bekomm ich vom Hauptprogramm die Meldung (Keine Rückmeldung), Das Label wird nicht beschrieben und ändert sich auch nicht.</p>
<p>Sobald das kopieren abgeschlossen ist, läuft meine Programm einwandfrei weiter.</p>
<p>Meine Frage mit welchem Mittel schaff ich es das Label in &quot;Echtzeit&quot; ändern zu lassen?</p>
<p>Entwicklungsumgebung ist Visual Studio, sprache C++, Anwendung ist eine Win32</p>
<p>mfg Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/231573/problem-mit-selbst-geschribenen-kopierprogramm</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 20:26:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231573.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Jan 2009 19:45:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Mon, 12 Jan 2009 19:45:03 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe ein kleines Kopierprogramm geschrieben, das Daten von einem USB-Stick auf die Festplatte kopiert. Soweit kein Problem.</p>
<p>Allerdings möchte ich in einem Label anzeigen, welche Datei gerade kopiert wird.</p>
<p>Jetzt zu meinem Problem, wenn ich das implementiert habe und dies Teste, bekomm ich vom Hauptprogramm die Meldung (Keine Rückmeldung), Das Label wird nicht beschrieben und ändert sich auch nicht.</p>
<p>Sobald das kopieren abgeschlossen ist, läuft meine Programm einwandfrei weiter.</p>
<p>Meine Frage mit welchem Mittel schaff ich es das Label in &quot;Echtzeit&quot; ändern zu lassen?</p>
<p>Entwicklungsumgebung ist Visual Studio, sprache C++, Anwendung ist eine Win32</p>
<p>mfg Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644133</guid><dc:creator><![CDATA[Christian84]]></dc:creator><pubDate>Mon, 12 Jan 2009 19:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Mon, 12 Jan 2009 19:55:21 GMT]]></title><description><![CDATA[<p>Das müsstest du mit Threads machen.Weil dein Programm läuft im Moment nur synchron.Durch die Threads, kannst du es asynchron laufen lassen, ein Thread zum kopieren und einen zum Anzeigen des Lables</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644136</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 12 Jan 2009 19:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Mon, 12 Jan 2009 19:57:31 GMT]]></title><description><![CDATA[<p>Danke Firefighter,</p>
<p>ich habe zuerst an Interrupts gedacht, nur konnte ich nichts passendes dazu finden.</p>
<p>mfg Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644138</guid><dc:creator><![CDATA[Christian84]]></dc:creator><pubDate>Mon, 12 Jan 2009 19:57:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Mon, 12 Jan 2009 19:59:55 GMT]]></title><description><![CDATA[<p>Ich glaube das wäre ein krasser overhead.Als kleiner Tip, versuch das ganze mit C# zu implementieren, da hast du den sogenannten &quot;Background Worker&quot; der übernimmt die ganze Thread geschichte für dich, du musst nur noch implementieren was während des Threads passieren soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644139</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 12 Jan 2009 19:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Mon, 12 Jan 2009 20:03:04 GMT]]></title><description><![CDATA[<p>Das wäre dann der einfache Weg <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="🙂"
    /><br />
Aber ich möchte bei C++ bleiben, da ich das ganze auch als Übung für mein Studium nutze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644142</guid><dc:creator><![CDATA[Christian84]]></dc:creator><pubDate>Mon, 12 Jan 2009 20:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Tue, 13 Jan 2009 00:26:20 GMT]]></title><description><![CDATA[<p>Guck dir die Boost an, die hat eine nette Threading-Library dabei.<br />
(Da diese komplett überarbeitet wurde kann ich die Boost nun auch wieder für Threading empfehlen <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>
<p>Da schreibst du dann z.B. nurmehr:</p>
<pre><code class="language-cpp">class MyDialog : ...
{
public:
    ~MyDialog()
    {
        // warten bis der thread fertig ist
        if (m_copyThread)
            m_copyThread-&gt;join();
    }

    void StartCopy(boost::shared_ptr&lt;FileList const&gt; const&amp; fileList)
    {
        assert(!m_copyThread);
        m_copyThread.reset(new boost::thread(boost::bind(&amp;MyDialog::CopyThreadFunction, this, fileList)));
    }

    void CopyThreadFunction(boost::shared_ptr&lt;FileList const&gt; fileList)
    {
        // ...
    }

private:
    boost::shared_ptr&lt;boost::thread&gt; m_copyThread;
};
</code></pre>
<p>Auch nicht viel mehr Aufwand als mit den .NET Framework.</p>
<p>Natürlich musst du immer noch aufpassen &quot;korrekt&quot; mit dem GUI Thread zu kommunizieren -- bzw. überhaupt dass die beiden Threads sich nicht in die Quere kommen. Wenn du die WinAPI verwendest geht das aber oft sehr einfach über PostMessage/SendMessage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644249</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 13 Jan 2009 00:26:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Tue, 13 Jan 2009 08:27:07 GMT]]></title><description><![CDATA[<p>naja, ein thread mit der winapi zu erstellen ist auch nicht schwer, allerdings ist es dann ebend nicht mehr plattformunabhängig und kein reines c++ mehr.</p>
<p>eine funktion mit folgender Signatur enthält den Code der in einem andeen Thread ausgeführt werden soll.</p>
<pre><code class="language-cpp">DWORD WINAPI ThreadFunc( LPVOID param)
{
}
</code></pre>
<p>um den thread zu starten brauch man nur</p>
<pre><code class="language-cpp">IrgendeinTyp param;
  DWORD tid;
  CreateThread(NULL, 0, &amp;ThreadFunc, &amp;param, 0, &amp;tid);
</code></pre>
<p>aufrufen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644320</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Tue, 13 Jan 2009 08:27:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit selbst geschribenen Kopierprogramm on Tue, 13 Jan 2009 09:05:07 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>(Da diese komplett überarbeitet wurde kann ich die Boost nun auch wieder für Threading empfehlen <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>
</blockquote>
<p>Ist zwar OT, aber was war denn los, mit der Thread-Bibliothek?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1644342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1644342</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 13 Jan 2009 09:05:07 GMT</pubDate></item></channel></rss>