<?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[Array nicht lesbar]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem und zwar definieren ich mit</p>
<pre><code class="language-cpp">int *s1;
s1=new int[10];
int *s2;
s2=new int[10];
int *s3;
s3=new int[10];
int *a;
a=new int[32];
</code></pre>
<p>Variablen.<br />
Ich fülle diese Variablen dann mit Werten. Wenn ich diese Werte allerdings später in OnDraw() abfragen will, kommt stürzt das Programm ab und Microsoft will einen Problembericht senden. Was mache ich falsch? Is vielleicht der Speicher überlastet? Wenn ja wie kann ich ihn wieder freikriegen?</p>
<p>MFG</p>
<p>Danke</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161881/array-nicht-lesbar</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 20:49:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161881.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Oct 2006 23:45:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 00:15:34 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem und zwar definieren ich mit</p>
<pre><code class="language-cpp">int *s1;
s1=new int[10];
int *s2;
s2=new int[10];
int *s3;
s3=new int[10];
int *a;
a=new int[32];
</code></pre>
<p>Variablen.<br />
Ich fülle diese Variablen dann mit Werten. Wenn ich diese Werte allerdings später in OnDraw() abfragen will, kommt stürzt das Programm ab und Microsoft will einen Problembericht senden. Was mache ich falsch? Is vielleicht der Speicher überlastet? Wenn ja wie kann ich ihn wieder freikriegen?</p>
<p>MFG</p>
<p>Danke</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153215</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Thu, 12 Oct 2006 00:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 00:18:14 GMT]]></title><description><![CDATA[<p>an deinem code schnipsel sieht alles richtig aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153219</guid><dc:creator><![CDATA[überlastet]]></dc:creator><pubDate>Thu, 12 Oct 2006 00:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 00:29:32 GMT]]></title><description><![CDATA[<p>Also hiermit zeichne ich:</p>
<pre><code class="language-cpp">int i;
i=1;
CDC mem;
mem.CreateCompatibleDC(pDC);
while(i&lt;11)
{
str.Format(&quot;%i&quot;,s1[i]);
//MessageBox(str);
hBitmap= (HBITMAP)::LoadImage(AfxGetInstanceHandle()
,&quot;K\\&quot;+str+&quot;.bmp&quot;
,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
m_pBitmap.Attach(hBitmap);
mem.SelectObject(&amp;m_pBitmap);
pDC-&gt;BitBlt(i*69,0,100,90,&amp;mem,0,0,SRCCOPY);
i++;
}
</code></pre>
<p>Bei jedem Durchlauf der Schleife kommt 2 mal &quot;Debug Assertion Failed&quot; beides mal in wingdi.cpp , in Zeile 1120 und in 1114.</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153220</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Thu, 12 Oct 2006 00:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 04:01:01 GMT]]></title><description><![CDATA[<p>hmm dein arry index von S1 ist jab von null aus orientiert d.h. bei der array größe 10 ist der index 0-9, aber da du in deiner while schleife auf den array index &gt;9 zugreiffst stürtz das progamm ab! &quot;Index out of Bounds&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153224</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 12 Oct 2006 04:01:01 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 13:23:01 GMT]]></title><description><![CDATA[<p>Also ich hab das jetzt umgeändert in 10 und in 32, aber das programm stürzt trotzdem nach dem 2. schleifendurchlauf ab, was mach ich denn nur falsch???</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153597</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Thu, 12 Oct 2006 13:23:01 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 13:56:21 GMT]]></title><description><![CDATA[<p>änder mal das &quot;while(..)&quot; in &quot;for(int i=0; i&lt;10;i++)&quot; um , und kommentier das &quot;i++;&quot; das &quot;int i;&quot; und &quot;i=1&quot;; aus deinem code!! wo ist hast du was auf 32 geändernt , in deiem code seh ich nur das du s1 nutzt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153631</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 12 Oct 2006 13:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 23:05:37 GMT]]></title><description><![CDATA[<p>Ich schätze mal dass das mit der ganzen Array Sache nixe nicht zu tun hat.</p>
<p>&gt; m_pBitmap.Attach(hBitmap);<br />
&gt; mem.SelectObject(&amp;m_pBitmap);</p>
<p>Das in einer Schleife. Dafür bekommst du keine Punkte, musst an den Start zurück, und noch ne Runde aussetzen <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>Da ist aber einiges faul an dem Beispiel!<br />
Schätze mal das ASSERT wird jenes sein:<br />
ASSERT(m_hObject == NULL); // only attach once, detach on destroy</p>
<p>Das findet sich in CGdiObject::Attach().</p>
<p>Heisst soviel wie: wenn du m_pBitmap.Attach(hBitmap) (nebenbei: &quot;m_p&quot; für was was kein Zeiger ist?) aufrufst, dann muss pBitmap vorher &quot;leer&quot; sein. Wenn du Attach vorher schon aufgerufen hast musst du Detach aufrufen bevor du wieder Attach verwenden kannst. Und bevor du Detach aufrufst musst du erstmal die CBitmap wieder aus dem DC rausselektieren. Dazu musst du dir nen Pointer auf die alte Bitmap die vorher selektiert war aufheben (SelectObject liefert diesen Poiner als Returnwert).</p>
<p>Dreh mal ein paar Runden in diversen MFC Tutorials, da fehlts noch an einigem. Gerade wo MFC wenns mal um DCs und Bitmaps und so zeug geht ziemlich schwierig ist. Gibt nen riesen Haufen Sachen die man beachten sollte, und einige Fallstricke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153933</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Thu, 12 Oct 2006 23:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Array nicht lesbar on Thu, 12 Oct 2006 23:20:21 GMT]]></title><description><![CDATA[<p>Vielen Dank! Habs mitlerweile so gelöst, dass ich jeden Schleifendurchlauf ne neue Variable gemacht hab. Da passiert wahrscheinlich genau dasselbe schätze ich, aber danke für die Antwort! Jetz weiß ichs wenigstens fürs nächste mal!</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153940</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Thu, 12 Oct 2006 23:20:21 GMT</pubDate></item></channel></rss>