<?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[TMemoryStream: Exception bei Write]]></title><description><![CDATA[<p>Hallo zusammen!<br />
Nach ewigkeiten melde auch ich mich wieder zurück.</p>
<p>So, nun zu meinem Problem:<br />
Ich möchte mittels IdHTTP Dateien aus dem Internet laden.<br />
Um die Dateien zwischenzuspeichern benutze ich dafür den hier auch (irgendwo) geposteten Quellcode:</p>
<pre><code class="language-cpp">[...]
  Test2-&gt;Clear();
  Test-&gt;Position = Test-&gt;Size;
  IdHTTP1-&gt;Request-&gt;ContentRangeStart = i * DLRate*2;
  IdHTTP1-&gt;Request-&gt;ContentRangeEnd = IdHTTP1-&gt;Request-&gt;ContentRangeStart + DLRate*2;
  IdHTTP1-&gt;Get(Edit1-&gt;Text,Test2);
  Test-&gt;Write(Test2,DLRate*2);
  Application-&gt;ProcessMessages();
[...]
</code></pre>
<p>Test und Test2 sind jeweils MemoryStreams.<br />
i gibt an wo gedownloadet werden soll.<br />
Edit1 enthält die URL.</p>
<p>Jetzt bekomme ich, mit einer DLRate von 16<em>1024 die &quot;Zugriffsverletzung bei Adresse 0043C461 in Project1.exe ....&quot;.<br />
Bei 8</em>1024 funzt es jedoch einwandfrei.<br />
Auch wenn ich als Größe des Streams &quot;Test2&quot; nur 8*1024 angebe, wird erfolgreich geschrieben. jedoch nur mit 8KB...</p>
<p>Woran liegt das? Is bestimmt wieder mal ne Kleinigkeit... hab ewig nciht mehr gecodet ;=)</p>
<p>Vielen Dank im Voraus,<br />
Jo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/99727/tmemorystream-exception-bei-write</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 23:48:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/99727.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Jan 2005 11:48:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Mon, 31 Jan 2005 11:48:42 GMT]]></title><description><![CDATA[<p>Hallo zusammen!<br />
Nach ewigkeiten melde auch ich mich wieder zurück.</p>
<p>So, nun zu meinem Problem:<br />
Ich möchte mittels IdHTTP Dateien aus dem Internet laden.<br />
Um die Dateien zwischenzuspeichern benutze ich dafür den hier auch (irgendwo) geposteten Quellcode:</p>
<pre><code class="language-cpp">[...]
  Test2-&gt;Clear();
  Test-&gt;Position = Test-&gt;Size;
  IdHTTP1-&gt;Request-&gt;ContentRangeStart = i * DLRate*2;
  IdHTTP1-&gt;Request-&gt;ContentRangeEnd = IdHTTP1-&gt;Request-&gt;ContentRangeStart + DLRate*2;
  IdHTTP1-&gt;Get(Edit1-&gt;Text,Test2);
  Test-&gt;Write(Test2,DLRate*2);
  Application-&gt;ProcessMessages();
[...]
</code></pre>
<p>Test und Test2 sind jeweils MemoryStreams.<br />
i gibt an wo gedownloadet werden soll.<br />
Edit1 enthält die URL.</p>
<p>Jetzt bekomme ich, mit einer DLRate von 16<em>1024 die &quot;Zugriffsverletzung bei Adresse 0043C461 in Project1.exe ....&quot;.<br />
Bei 8</em>1024 funzt es jedoch einwandfrei.<br />
Auch wenn ich als Größe des Streams &quot;Test2&quot; nur 8*1024 angebe, wird erfolgreich geschrieben. jedoch nur mit 8KB...</p>
<p>Woran liegt das? Is bestimmt wieder mal ne Kleinigkeit... hab ewig nciht mehr gecodet ;=)</p>
<p>Vielen Dank im Voraus,<br />
Jo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711061</guid><dc:creator><![CDATA[J0]]></dc:creator><pubDate>Mon, 31 Jan 2005 11:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Mon, 31 Jan 2005 12:36:21 GMT]]></title><description><![CDATA[<p>Mein lieber Herr Gesangsverein... was hat denn die Downloadrate mit der Anzahl zu schreibenden Bytes zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711102</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 31 Jan 2005 12:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Mon, 31 Jan 2005 15:02:25 GMT]]></title><description><![CDATA[<p>Ich lade immer kleine Teile runter.</p>
<p>z.B. 8KB. (Siehe Startpunkt und EndPunkt bei Indy HTTP)<br />
Danach speichere ich diese ab.</p>
<p>Wenn ich jedoch Teile mit mehr als 8KB downloade kommt beim Schreiben o.g. Fehler.</p>
<p>Ich möchte aber größere Teile downloaden, da der gesamte Prozess sonst zu lange dauert.</p>
<p>Jo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711294</guid><dc:creator><![CDATA[J0]]></dc:creator><pubDate>Mon, 31 Jan 2005 15:02:25 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Mon, 31 Jan 2005 15:09:03 GMT]]></title><description><![CDATA[<p>Für Prozesse die zu lange dauern helfen Threads ganz nett...</p>
<p>Aber ich hab immernoch nicht begriffen wieso du, wenn du Test2 in das File schreibst, nicht einfach die echte Grösse der in Test2 vorhandenen Daten abgibst sondern nur den Theoretischen Wert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711302</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 31 Jan 2005 15:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Mon, 31 Jan 2005 23:58:36 GMT]]></title><description><![CDATA[<p>Auch wenn ich Test2-&gt;Size angebe kommt der Fehler. Hatte ich zuerst stehen.</p>
<p>An Threads hatte ich auch schon gedacht, aber das ist für mich eher Neuland und ich dachte mir es geht auch ohne.</p>
<p>Jo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711773</guid><dc:creator><![CDATA[J0]]></dc:creator><pubDate>Mon, 31 Jan 2005 23:58:36 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 08:09:10 GMT]]></title><description><![CDATA[<p>Hmmm und Test2 ist gültig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711853</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Tue, 01 Feb 2005 08:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 08:47:28 GMT]]></title><description><![CDATA[<p>Wie wäre es mit TFileStream, da TMemoryStream alles in den RAM schreibt, was nicht gerade sehr schön ist... und zweitens... wieso 2 Streams...?<br />
Wenn du Dateien herunterladen willst, mach das so:</p>
<pre><code class="language-cpp">TFileStream* fs=new TFileStream(&quot;C:\\Test.bin&quot;,fmCreate);
IdHTTP1-&gt;Get(Edit1-&gt;Text,fs);
delete fs;
</code></pre>
<p>Und dann kannst du im IdHTTP1 auch die Ereignisse verwenden, z.B. Application-&gt;ProcessMessages(); aufrufen, etc.. sodass man nebenher immernoch Buttons drücken kann, etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711873</guid><dc:creator><![CDATA[Windoof]]></dc:creator><pubDate>Tue, 01 Feb 2005 08:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 11:14:31 GMT]]></title><description><![CDATA[<p>Erstmal vielen Dank euch allen.</p>
<p>Ich habs jetzt mit den FileStreams hinbekommen.</p>
<p>Zwar bekomme ich jetzt noch nen Fehler an den Kopf geworfen, wenn ich einen FileStream laden möchte, aber das bekomm ich schon hin.</p>
<p>Danke,<br />
Jo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711941</guid><dc:creator><![CDATA[J0]]></dc:creator><pubDate>Tue, 01 Feb 2005 11:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 11:20:31 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wie es ausseiht machst du das selbe wie ich. Ein Frage, wie hast du das mit den Ports hinbekommen ? Wenn du einmal eine HTTP Klasse auf einen bestimmten BoudnPort connecten lässt, dann wird dieser nicht mehr freigegeben(erst nach 4/5 min Löschen der Klassem, wohl von von windoof). Ein Lösung ist eine globale HTTP Classe zu verwenden und damit alle HTTP zugriffe zu erledigen. so habe ich das gemacht, gefällt mich aber nicht unbedingt.</p>
<p>Hast du herausgefunden, wie man einen Port wieder freigibt ? Sachen wie Socket-&gt;Close() etc. zeigt keine Wirkung.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/711949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/711949</guid><dc:creator><![CDATA[maYer]]></dc:creator><pubDate>Tue, 01 Feb 2005 11:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 18:46:59 GMT]]></title><description><![CDATA[<p>Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema!<br />
Ein Link auf <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=99288" rel="nofollow">dein anderes Problem</a> wäre ok, das &quot;Anzetteln&quot; einer Offtopic-Diskussion hingegen ist unschön.</p>
<p>Der unglaublich kritikfähige, gleich eingeschnappte Moderator.</p>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/712325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/712325</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Tue, 01 Feb 2005 18:46:59 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Tue, 01 Feb 2005 21:45:54 GMT]]></title><description><![CDATA[<p>Endlich mal nett <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>Du hast recht, ich bin noch lange nicht perfekt im Punkte Forum-Verhaltens-Regeln</p>
]]></description><link>https://www.c-plusplus.net/forum/post/712481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/712481</guid><dc:creator><![CDATA[maYer]]></dc:creator><pubDate>Tue, 01 Feb 2005 21:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to TMemoryStream: Exception bei Write on Wed, 02 Feb 2005 12:37:02 GMT]]></title><description><![CDATA[<p>Jansen schrieb:</p>
<blockquote>
<p>Der unglaublich kritikfähige, gleich eingeschnappte Moderator.</p>
</blockquote>
<p>Dem kann ich aus Erfahrung nur zustimmen <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>- Der gleich einschnappende User</p>
<p><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><strong>NOTE:</strong> Offtopic ist jetzt aber genug ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/712782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/712782</guid><dc:creator><![CDATA[Windoof]]></dc:creator><pubDate>Wed, 02 Feb 2005 12:37:02 GMT</pubDate></item></channel></rss>