<?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[Fensterinhalt erst zu Laufzeitende sichtbar]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem:</p>
<p>Ein kleines Tool schaut in einen Ordner und kopieret alle Dateien und Unterordner, die dort liegen, in ein lokales Verzeichnis. Quasi eine Art Updater. Während dieses Vorganges soll in einem Fenster die jeweilige Datei angezeigt werden, die gerade kopiert wird.</p>
<p>Das ganze Kopiegedöns klappt EINWANDFREI!<br />
Nur das Fenster will nicht so wie ich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Also beim Programmstart wird das Fenster geladen. Aber obwohl es Text enthält (sowohl bei Form1 als auch bei den ganzen Labels ist die Eigenschaft Visible auf true gesetzt) wird kein Text angezeigt.<br />
Ist das Programm durchgelaufen, zeigt es mir die letzte kopierte Datei an (also die Weitergabe des Dateinamens an das Label klappt).<br />
Die ganze Zwischenzeit, während der Kopiervorgang läuft, seh ich nix außer dem Hintergrund.</p>
<p>Ich poste einmal den kompletten Quellcode, vielleicht ist da ja für Euch was ersichtlich, aber das Problem ist nur das Hauptfenster, von dem ich während der gesamten Laupfzeit nur den Hintergrund sehe und erst nach dem letzten Kopiervorgang der ganze Text mit der letzten kopierten Datei angezeigt wird.</p>
<p><strong>DANKE für Eure Hilfe und Unterstützung</strong></p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   char path[255] = {0};
   int laenge = 0;

   Form1-&gt;Show();

   strcpy(path,&quot;U:\\Update&quot;);
   laenge = strlen(path);

   scan_for_all_files(path, laenge);
}
//---------------------------------------------------------------------------

void scan_for_all_files (char folder[], int laenge)
{
   HANDLE fHandle;
   WIN32_FIND_DATA Datei;

   char startfolder[255] = {0};
   char nextfolder[255] = {0};
   char dateiname[255] = {0};        // kann auch Pfad zu einem Ordner sein
   AnsiString tempstring;

   strcpy(startfolder,folder);
   strcat(startfolder,&quot;\\*&quot;);

   fHandle = FindFirstFile(startfolder,&amp;Datei);

   do
   {
      // Dateiname darf nicht &quot;.&quot; oder &quot;..&quot; sein
      if(!( (Datei.cFileName[0]=='.') &amp;&amp; ( (Datei.cFileName[1]=='.' &amp;&amp; Datei.cFileName[2]==0) || Datei.cFileName[1]==0 ) )) 
      {
         // vollständigen Serverpfad in &quot;nextfolder&quot; schreiben

         strcpy(nextfolder,folder);
         strcat(nextfolder,&quot;\\&quot;);
         strcat(nextfolder,Datei.cFileName);

         // vollständigen lokalen Pfad in &quot;dateiname&quot; schreiben

         strcpy(dateiname,&quot;C:\\Programme\\AccCon&quot;);
         tempstring = MidStr(nextfolder, laenge+1, strlen(nextfolder));
         strcat(dateiname, tempstring.c_str());

         if (Datei.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY)
         {
            // Keine Datei sondern ein Ordner
            // Ordner erstellen || Fails if directory exits

            Form1-&gt;Dateiname-&gt;Caption = dateiname;
            CreateDirectory(dateiname, NULL);

            scan_for_all_files(nextfolder, laenge);
         }
         else
         {
            // Datei kopieren

            Form1-&gt;Dateiname-&gt;Caption = dateiname;
            CopyFile(nextfolder, dateiname, 0);
         }
      }

   }while (FindNextFile(fHandle,&amp;Datei));

   FindClose(fHandle);
}

//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/193816/fensterinhalt-erst-zu-laufzeitende-sichtbar</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 02:15:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193816.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Sep 2007 11:20:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fensterinhalt erst zu Laufzeitende sichtbar on Sun, 30 Sep 2007 11:20:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem:</p>
<p>Ein kleines Tool schaut in einen Ordner und kopieret alle Dateien und Unterordner, die dort liegen, in ein lokales Verzeichnis. Quasi eine Art Updater. Während dieses Vorganges soll in einem Fenster die jeweilige Datei angezeigt werden, die gerade kopiert wird.</p>
<p>Das ganze Kopiegedöns klappt EINWANDFREI!<br />
Nur das Fenster will nicht so wie ich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Also beim Programmstart wird das Fenster geladen. Aber obwohl es Text enthält (sowohl bei Form1 als auch bei den ganzen Labels ist die Eigenschaft Visible auf true gesetzt) wird kein Text angezeigt.<br />
Ist das Programm durchgelaufen, zeigt es mir die letzte kopierte Datei an (also die Weitergabe des Dateinamens an das Label klappt).<br />
Die ganze Zwischenzeit, während der Kopiervorgang läuft, seh ich nix außer dem Hintergrund.</p>
<p>Ich poste einmal den kompletten Quellcode, vielleicht ist da ja für Euch was ersichtlich, aber das Problem ist nur das Hauptfenster, von dem ich während der gesamten Laupfzeit nur den Hintergrund sehe und erst nach dem letzten Kopiervorgang der ganze Text mit der letzten kopierten Datei angezeigt wird.</p>
<p><strong>DANKE für Eure Hilfe und Unterstützung</strong></p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   char path[255] = {0};
   int laenge = 0;

   Form1-&gt;Show();

   strcpy(path,&quot;U:\\Update&quot;);
   laenge = strlen(path);

   scan_for_all_files(path, laenge);
}
//---------------------------------------------------------------------------

void scan_for_all_files (char folder[], int laenge)
{
   HANDLE fHandle;
   WIN32_FIND_DATA Datei;

   char startfolder[255] = {0};
   char nextfolder[255] = {0};
   char dateiname[255] = {0};        // kann auch Pfad zu einem Ordner sein
   AnsiString tempstring;

   strcpy(startfolder,folder);
   strcat(startfolder,&quot;\\*&quot;);

   fHandle = FindFirstFile(startfolder,&amp;Datei);

   do
   {
      // Dateiname darf nicht &quot;.&quot; oder &quot;..&quot; sein
      if(!( (Datei.cFileName[0]=='.') &amp;&amp; ( (Datei.cFileName[1]=='.' &amp;&amp; Datei.cFileName[2]==0) || Datei.cFileName[1]==0 ) )) 
      {
         // vollständigen Serverpfad in &quot;nextfolder&quot; schreiben

         strcpy(nextfolder,folder);
         strcat(nextfolder,&quot;\\&quot;);
         strcat(nextfolder,Datei.cFileName);

         // vollständigen lokalen Pfad in &quot;dateiname&quot; schreiben

         strcpy(dateiname,&quot;C:\\Programme\\AccCon&quot;);
         tempstring = MidStr(nextfolder, laenge+1, strlen(nextfolder));
         strcat(dateiname, tempstring.c_str());

         if (Datei.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY)
         {
            // Keine Datei sondern ein Ordner
            // Ordner erstellen || Fails if directory exits

            Form1-&gt;Dateiname-&gt;Caption = dateiname;
            CreateDirectory(dateiname, NULL);

            scan_for_all_files(nextfolder, laenge);
         }
         else
         {
            // Datei kopieren

            Form1-&gt;Dateiname-&gt;Caption = dateiname;
            CopyFile(nextfolder, dateiname, 0);
         }
      }

   }while (FindNextFile(fHandle,&amp;Datei));

   FindClose(fHandle);
}

//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1375256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1375256</guid><dc:creator><![CDATA[W.Stecher]]></dc:creator><pubDate>Sun, 30 Sep 2007 11:20:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fensterinhalt erst zu Laufzeitende sichtbar on Sun, 30 Sep 2007 12:32:04 GMT]]></title><description><![CDATA[<p>Hei,</p>
<pre><code class="language-cpp">Form1-&gt;Dateiname-&gt;Caption = dateiname;
  Application-&gt;ProcessMessages();
</code></pre>
<p>So sollte es gehen. Du musst bei solchen Schleifen<br />
auch mal Zeit zum Verarbeiten geben <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>Gruss Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1375291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1375291</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Sun, 30 Sep 2007 12:32:04 GMT</pubDate></item><item><title><![CDATA[Reply to Fensterinhalt erst zu Laufzeitende sichtbar on Sun, 30 Sep 2007 13:27:30 GMT]]></title><description><![CDATA[<p>SUPI, vielen lieben Dank.<br />
Klappt jetzt astrein dank Deiner Antwort.</p>
<p>Hatte ja schon Befürchtungen, dass ich eine Antwort nicht verstehen würde, aber noch verständlicher ging es ja echt nicht.</p>
<p>Habe gerade noch eine Protokollierung eingebaut, also ein Logfile für das Update und aus CopyFile ein CopyFileEx mit ProgressBar gemacht.</p>
<p>Langsam macht es Spaß, sich das Ergebnis anzusehen.</p>
<p>Danke nochmal. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
(Hier gibt es leider kein sich verneigendes Smiliy, aber ich hätte es gepostet, wenn es das gegeben hätte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1375326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1375326</guid><dc:creator><![CDATA[W.Stecher]]></dc:creator><pubDate>Sun, 30 Sep 2007 13:27:30 GMT</pubDate></item></channel></rss>