<?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[Zugriffsfehler beim löschen wegen Offener Datei]]></title><description><![CDATA[<p>Hi leute!</p>
<p>Ich hab folgendes Problem:</p>
<p>Ich Lade mit der IndyHTTP komponente ne Datei runter (funktioniert). Ich kann während dem Downlaod den Downlaod per Button abbrechen (funktioniert auch). Jetzt kommt mein Problem: Wie kann ich diese Datei während der Programmlaufzeit löschen? Wenn ich es per Hand versuche (während das Programm läuft) kommt der Fehler: &quot;Datei kann nicht gelöscht werden: Eine Zugriffsverletzung ist aufgetreten. Die Quell oder Zieldatei ist möglicherweise geöffnet&quot;! Ich mein ich kann verstehen das er meckert! Weil ich breche den Download ab indem ich einfach nen IdHTTP1-&gt;Disconnect(); rein bringe. Hier jetzt meine Frage: Wie schließe ich diese Offene Datei um sie löschen zu können? Wenn ihr noch Infos braucht dann sagte bescheid!</p>
<p>Ich hoffe Ihr könnt mir antworten weil in der suche hab ich nur den Beitrag gefunden den der schreiber mit den Worten: &quot;Es funktioniert in 90 % der fälle, also lass ich es so...&quot; beendet und das is für mich end ok weil dieses Programm mein Abschluss Projekt wird für meine Schule!</p>
<p>cYa pl1zahd</p>
<p>p.s.: Danke schonmal im voraus für die Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/101862/zugriffsfehler-beim-löschen-wegen-offener-datei</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 12:19:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/101862.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Feb 2005 13:42:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Sun, 20 Feb 2005 13:42:05 GMT]]></title><description><![CDATA[<p>Hi leute!</p>
<p>Ich hab folgendes Problem:</p>
<p>Ich Lade mit der IndyHTTP komponente ne Datei runter (funktioniert). Ich kann während dem Downlaod den Downlaod per Button abbrechen (funktioniert auch). Jetzt kommt mein Problem: Wie kann ich diese Datei während der Programmlaufzeit löschen? Wenn ich es per Hand versuche (während das Programm läuft) kommt der Fehler: &quot;Datei kann nicht gelöscht werden: Eine Zugriffsverletzung ist aufgetreten. Die Quell oder Zieldatei ist möglicherweise geöffnet&quot;! Ich mein ich kann verstehen das er meckert! Weil ich breche den Download ab indem ich einfach nen IdHTTP1-&gt;Disconnect(); rein bringe. Hier jetzt meine Frage: Wie schließe ich diese Offene Datei um sie löschen zu können? Wenn ihr noch Infos braucht dann sagte bescheid!</p>
<p>Ich hoffe Ihr könnt mir antworten weil in der suche hab ich nur den Beitrag gefunden den der schreiber mit den Worten: &quot;Es funktioniert in 90 % der fälle, also lass ich es so...&quot; beendet und das is für mich end ok weil dieses Programm mein Abschluss Projekt wird für meine Schule!</p>
<p>cYa pl1zahd</p>
<p>p.s.: Danke schonmal im voraus für die Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727949</guid><dc:creator><![CDATA[pl1zahd]]></dc:creator><pubDate>Sun, 20 Feb 2005 13:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Sun, 20 Feb 2005 13:52:38 GMT]]></title><description><![CDATA[<p>Zeig mal den Codeabschnitt, in dem du die Datei herunterlädst bzw. speicherst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727967</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 20 Feb 2005 13:52:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Sun, 20 Feb 2005 15:28:11 GMT]]></title><description><![CDATA[<p>k hier mal der Code:</p>
<pre><code class="language-cpp">void __fastcall TDM_download::AfterShow()
{
  Show(); // Standard-Show aufrufen
  Application-&gt;ProcessMessages(); // alles fertigzeichnen lassen

  // jetzt der eigene, im &quot;OnAfterShow&quot; auszuführende Code
  try
  {TFileStream *fs = new TFileStream(DM_link-&gt;save_filename, fmCreate);

  IdHTTP1-&gt;Get(URL, fs); //Hier wird geladen

  delete fs;
  }
  catch(EIdConnClosedGracefully &amp;c)
  {
        Hide();
  }
</code></pre>
<p>Ich arbeite mit OnWork! In dem on work block wird ein fortschrittsbalken erhöht und dann mit Application-&gt;ProcessMessage(); geschaut das man auf abbrechen klicken kann!</p>
<p>Und hier fürs Abbrechen:</p>
<pre><code class="language-cpp">void __fastcall TDM_download::btnAbbrechenClick(TObject *Sender)
{

IdHTTP1-&gt;Disconnect();

}
</code></pre>
<p>Also ich könnte als Notlösung (falls es ned direkt geht) auch noch nen löschprogramm schreiben das direkt als letzter Befehl vor dem schließen aufgerufen wird und danach das Hauptprogramm schließt und danach die Dateien löscht... wäre aber keine elegante lösung, da man wenn man 2. die selbe datei downloaden will (mit gleichem namen) und die 1. datei abgebrochen hat man die 2. datei nicht unterm selben Namen abspeichern kann (selbe Fehlermeldung)!</p>
<p>edit: Ich hab den code ma aufs wesentliche reduziert, dar das mit meinem Stringgrid ja nix mit dem code zu tun hat im moment!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/727981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/727981</guid><dc:creator><![CDATA[pl1zahd]]></dc:creator><pubDate>Sun, 20 Feb 2005 15:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Thu, 24 Feb 2005 11:22:49 GMT]]></title><description><![CDATA[<p>Ich hab jetzt den code gepostet... wenn ihr noch was braucht sagt bescheid... aber bitte helft mir komme an dem problem einfach nicht vorbei... kann man das anderes lösen? das man vor dem Download mit idHTTP vieleicht die datei anderst anlegt als mit einem FileStream?</p>
<p>schreibt bitte!</p>
<p>cYa pl1zahd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731390</guid><dc:creator><![CDATA[pl1zahd]]></dc:creator><pubDate>Thu, 24 Feb 2005 11:22:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Thu, 24 Feb 2005 12:00:16 GMT]]></title><description><![CDATA[<p>Ich bin mir nicht ganz sicher, woran's nun liegt. Aber wenn Du den Download abbrichst, wird<br />
wahrscheinlich die Zeile in der Du den FileStream löschst, gar nicht aufgerufen, oder?<br />
Versuch's doch mal so:</p>
<pre><code class="language-cpp">TFileStream *fs = 0;
  try
  {
    fs = new TFileStream(DM_link-&gt;save_filename, fmCreate);
    try
    {
      IdHTTP1-&gt;Get(URL, fs); //Hier wird geladen
    }
    catch(EIdConnClosedGracefully &amp;c)
    {
      Hide();
    }
  }
  __finally
  {
    delete fs;
  }
</code></pre>
<p>Gruß,</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731413</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 24 Feb 2005 12:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsfehler beim löschen wegen Offener Datei on Thu, 24 Feb 2005 15:51:05 GMT]]></title><description><![CDATA[<p>Vielen Dank Alexander!</p>
<p>Damit funktioniert es! Jetzt muss ich nur noch 1 problem lösen und dann is mein Abschlssprojekt fertig! Aber dieses problem wird ja in nem anderen Thema besprochen (siehe &quot;Dateigröße feststellen&quot;)!</p>
<p>Danke an alle!</p>
<p>cYa pl1zahd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/731581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/731581</guid><dc:creator><![CDATA[pl1zahd]]></dc:creator><pubDate>Thu, 24 Feb 2005 15:51:05 GMT</pubDate></item></channel></rss>