<?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[TIdHTTP War Get() erfolgreich?]]></title><description><![CDATA[<p>hallo. ich möchte herausfinden ob von TIdHTTP Get() erfolgreich war bzw. ob der download erfolgreich war. Das ganze speichere ich zuerst in einem memory stream (TMemoryStream) und dann SaveToFile(). Oder kann ich gleich herausfinden ob SaveToFile() erfolgreich war? Das wäre noch besser. Da es eine void funktion ist und somit kein rückgabewert stattfindet weis ich leider nicht wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> aber toll wäre es, so kann ich sichergehen das die datei auf die festplatte geschrieben wurde..</p>
<p>eine frage zu TMemoryStream hätte ich auch gleich. Muss man da noch was spezielles beachten? Weil komischerweise sind die files entweder 3 mal grösser als original oder 3 mal kleiner etc. Ich mach eigentlich nichts weiter als das objekt einmalig auf dem heap zu erzeugen und dann für jedes file das mit Get() kommt ein SaveToFile danach (mit neuem dateiname versteht sich)...</p>
<p>Die dateigrösse stimmt dann aber nie und manchmal sind sie 10 mal so gross und sobald TIdHTTP::Get() zuende ist sind sie manchmal 10 mal kleiner als original. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/127646/tidhttp-war-get-erfolgreich</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 01:04:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127646.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Nov 2005 00:22:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 00:22:02 GMT]]></title><description><![CDATA[<p>hallo. ich möchte herausfinden ob von TIdHTTP Get() erfolgreich war bzw. ob der download erfolgreich war. Das ganze speichere ich zuerst in einem memory stream (TMemoryStream) und dann SaveToFile(). Oder kann ich gleich herausfinden ob SaveToFile() erfolgreich war? Das wäre noch besser. Da es eine void funktion ist und somit kein rückgabewert stattfindet weis ich leider nicht wie <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> aber toll wäre es, so kann ich sichergehen das die datei auf die festplatte geschrieben wurde..</p>
<p>eine frage zu TMemoryStream hätte ich auch gleich. Muss man da noch was spezielles beachten? Weil komischerweise sind die files entweder 3 mal grösser als original oder 3 mal kleiner etc. Ich mach eigentlich nichts weiter als das objekt einmalig auf dem heap zu erzeugen und dann für jedes file das mit Get() kommt ein SaveToFile danach (mit neuem dateiname versteht sich)...</p>
<p>Die dateigrösse stimmt dann aber nie und manchmal sind sie 10 mal so gross und sobald TIdHTTP::Get() zuende ist sind sie manchmal 10 mal kleiner als original. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/927406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927406</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sat, 26 Nov 2005 00:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 04:59:21 GMT]]></title><description><![CDATA[<p>Du kannst es gleich in ein File schreiben lassen</p>
<p>-&gt;Get(quellfile,zielfile,true);</p>
<p>Die Fehler werden über Exceptions übermittelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927429</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Sat, 26 Nov 2005 04:59:21 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 13:35:07 GMT]]></title><description><![CDATA[<p>ich dachte ein memory stream soll besser sein? und wozu ist der dritte parameter bei Get? die funktion wird ja überladen und erwartet entweder einen oder zwei? habe ausserdem versucht in einem try/catch block eine variable zu inkrementieren und dekrementieren leider ist das ergebniss nicht wirklich genau.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927614</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sat, 26 Nov 2005 13:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 13:40:51 GMT]]></title><description><![CDATA[<p>Das true war zuviel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927619</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Sat, 26 Nov 2005 13:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 13:43:23 GMT]]></title><description><![CDATA[<p>das hilft mir leider trotzdem nicht weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/927624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927624</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sat, 26 Nov 2005 13:43:23 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 17:34:36 GMT]]></title><description><![CDATA[<p>Solange du hier keinen Quelltext zeigst -&gt; was soll man sagen -&gt; die Komponenten arbeiten in Großen und ganzen fehlerfrei.</p>
<p>Schau in die Hilfe</p>
<p>Versuche mal nicht mit einem Stream zu arbeiten, sondern dirket in eine Datei</p>
<p>Besteht wirklich eine Verbindung?</p>
<p>und, und....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/927814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/927814</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Sat, 26 Nov 2005 17:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sat, 26 Nov 2005 22:44:39 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>was genau meinst du? ich nutze nun TFileStream oder was wäre am besten?<br />
Bei TFileStream habe ich jetzt allerdings das problem das man beim erzeugen des objekts direkt einen pfad angeben muss. mit dem mode fmCreate wird dann die datei gleich erstellt. Sowas ist jedoch nicht gut den ich will die datei erst dann erstellen wenn Size grösser als 0 ist.</p>
<p>Oder wie genau soll ich das nun machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928062</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sat, 26 Nov 2005 22:44:39 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 04:56:57 GMT]]></title><description><![CDATA[<p>ich verzweifle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
hier ein wenig code:</p>
<pre><code class="language-cpp">try
    {
    	try
        {
            //filename ändert sich vortlaufend
        	stream = new TFileStream(filename, fmCreate);
            IdHTTP1-&gt;Get(url, stream);
            ++success;
        }
        catch(...)
        {
        	if(FileExists(filename))
            {
            	DeleteFile(filename);
            }
        }
    }
    __finally
    {
    	delete stream;
    }
</code></pre>
<p>das problem ist das success kleiner ist als die dateien auf meinem rechner. das heisst also das entweder die datei erstellt wurde und dann beim catch block bei einem TIdHTTP fehler nicht wieder gelöscht wurde, oder aber keine ahnung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>ich gehe eigentlich davon aus das success nur dann inkrementiert wird wenn Get() keine exception auslöst, falls doch dann springt es ja eigentlich nicht zur zeile ++success?!? sondern eben zum catch block und dort gehe ich eigentlich davon aus das die erstellte datei von stream eben wieder gelöscht wird. Insofern gehe ich eigentlich davon aus das success den wert der tatsächlich runtergeladenen dateien auf meinem rechner hat. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/928110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928110</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sun, 27 Nov 2005 04:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 12:09:53 GMT]]></title><description><![CDATA[<p>Bist du sicher, dass im &quot;Downloadverzeichnis&quot; keine alten Dateien rumliegen, die du fälschlicherweise mitzählst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928232</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 27 Nov 2005 12:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 12:28:25 GMT]]></title><description><![CDATA[<p>Ja das verzeichnis habe ich zum erneuten test gelöscht und neu begonnen. Richten tu ich mich programtechnisch nur an den wert von success und windows technisch an den wert der anzahl dateien im verzeichnis. Leider stimmt das nie überein. <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>Was mache ich da blos falsch oder wie kann man das effizienter lösen das ich wirklich den wert der erstellten bzw. runtergeladenen dateien ermitteln kann und wenn eben ein TIdHTTP::Get() fehler auftritt, die (trotzdem) erstellte datei von TFileStream wieder zu löschen (da sie ja leer ist).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928262</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sun, 27 Nov 2005 12:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 12:58:52 GMT]]></title><description><![CDATA[<p>hab nun mal ein paar messageboxen im catch block reingemacht. also die datei die zu löschen ist existiert aber DeleteFile konnte dann die datei nicht löschen. Jetzt ist die frage wieso? Ist auf die datei noch zugriff bevor ich das TFileStream objekt zerstöre also den speicher wieder frei gebe? Oder hat es was mit dem parameter fmCreate zu tun? muss da noch ein zweiter parameter hin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928284</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sun, 27 Nov 2005 12:58:52 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 14:16:54 GMT]]></title><description><![CDATA[<p>scheinbar liegt es tatsächlich daran das das objekt stream noch nicht freigegeben wurde. jetzt frage ich mich allerdings wo ich den speicher wieder freigeben soll? derzeit habe ich dies ja im __finally block. jetzt müsste ich dies aber im catch block tun und zwar unmittelbar vor dem DeleteFile(). Was aber wenn es keine exception gab? Dann wird stream nicht zerstört.</p>
<p>was tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928352</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sun, 27 Nov 2005 14:16:54 GMT</pubDate></item><item><title><![CDATA[Reply to TIdHTTP War Get() erfolgreich? on Sun, 27 Nov 2005 14:18:52 GMT]]></title><description><![CDATA[<p>wäre es sinnvoll wenn ich das stream objekt im catch block zerstöre und im __finally block auch aber zuerst abfrage ob der zeiger NULL ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/928355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/928355</guid><dc:creator><![CDATA[Gorka]]></dc:creator><pubDate>Sun, 27 Nov 2005 14:18:52 GMT</pubDate></item></channel></rss>