<?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[AnsiString = AnsiString funktioniert nicht!?]]></title><description><![CDATA[<p>Hai Leute!</p>
<p>Hab folgendes Problem und zwar habe ich einen AnsiString namens Symbol1 in dem steht (debuggt) z.B. &quot;images\\white.bmp&quot;</p>
<p>Nun hab ich einen 2. AnsiString:</p>
<pre><code>AnsiString Old;
[...]        
Old = Symbol1;
</code></pre>
<p>Und hier eben das Problem, &quot;Old&quot; wird kein Wert zugewiesen <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="😮"
    /> , laut Debugger ist der auch nachher noch NULL.<br />
Ich meine, mir ist schon klar, dass das z.B. geht:</p>
<pre><code>AnsiString lala = Edit1-&gt;Text;
</code></pre>
<p>Aber was mach ich denn schon wieder falsch, im Prinzip ist es ja gar kein Unterschied, und in Symbol1 steht 100%ig etwas drin</p>
<p>Hab auch sonst im Forum nichts Passendes gefunden, bitte helft mir bei meinem blöden Problem!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203567/ansistring-ansistring-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 13:23:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203567.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Jan 2008 21:40:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 23 Jan 2008 21:40:39 GMT]]></title><description><![CDATA[<p>Hai Leute!</p>
<p>Hab folgendes Problem und zwar habe ich einen AnsiString namens Symbol1 in dem steht (debuggt) z.B. &quot;images\\white.bmp&quot;</p>
<p>Nun hab ich einen 2. AnsiString:</p>
<pre><code>AnsiString Old;
[...]        
Old = Symbol1;
</code></pre>
<p>Und hier eben das Problem, &quot;Old&quot; wird kein Wert zugewiesen <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="😮"
    /> , laut Debugger ist der auch nachher noch NULL.<br />
Ich meine, mir ist schon klar, dass das z.B. geht:</p>
<pre><code>AnsiString lala = Edit1-&gt;Text;
</code></pre>
<p>Aber was mach ich denn schon wieder falsch, im Prinzip ist es ja gar kein Unterschied, und in Symbol1 steht 100%ig etwas drin</p>
<p>Hab auch sonst im Forum nichts Passendes gefunden, bitte helft mir bei meinem blöden Problem!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442409</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Wed, 23 Jan 2008 21:40:39 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 23 Jan 2008 21:57:00 GMT]]></title><description><![CDATA[<p>Sollte 'AnsiString Old' nicht global sein, zeigt es nur, daß bei 'Old = Symbol1;' AnsiString 'Symbol1' NULL ist.<br />
Hier ist kein Fehler zu sehen, also muß es wo anders an deinem Code liegen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442414</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Wed, 23 Jan 2008 21:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 23 Jan 2008 22:02:11 GMT]]></title><description><![CDATA[<p>OldMan00 schrieb:</p>
<blockquote>
<p>Sollte 'AnsiString Old' nicht global sein, zeigt es nur, daß bei 'Old = Symbol1;' AnsiString 'Symbol1' NULL ist.<br />
Hier ist kein Fehler zu sehen, also muß es wo anders an deinem Code liegen</p>
</blockquote>
<p>Apropo global: Symbol1 ist ein globaler AnsiString (ja ich weiß, globale Variablen sind &quot;böse&quot;...) aber wenn ich mit dem Debugger vorher auf 'Symbol1' gehe, zeigt er mir den Wert an, den ich auch reingeschrieben habe (also das macht er richtig), nun hab ich nichts anderes getan als praktisch den String kopiert, das müsste mir der Debugger aber schon anzeigen, oder (,wenn ich Dich richtig verstanden habe,) nicht?<br />
Aber ansonsten gibt es fast keinen Code, und schon gar keinen der sonst auf 'Old' zugreift!</p>
<p>Jetzt wirds aber spannend...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442415</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Wed, 23 Jan 2008 22:02:11 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 23 Jan 2008 22:15:10 GMT]]></title><description><![CDATA[<p>was ich meine ist, daß 'AnsiString Old;' so nicht NULL ist !</p>
<p>mach doch einfach folgendes:<br />
scheibe direkt vor der Zuweisung 'Old = Symbol1;'</p>
<pre><code class="language-cpp">ShowMessage(&quot;Old = &quot; + Old + &quot;\nSymbol1 = &quot; + Symbol1);
Old = Symbol1;
</code></pre>
<p>dann siehst Du welche Werte die Variablen besitzen.<br />
ShowMessage ist manchmal der beste Debugger den es gibt, gerade für soetwas.</p>
<p>edit:</p>
<p>Du brauchst auch nur vor der Zuweisung einen Haltepunk zu setzten und mit der Maus über die Variablen zu gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442420</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Wed, 23 Jan 2008 22:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 24 Jan 2008 08:15:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Welchen Builder verwendet ihr denn? Beim 2007er ist es häufig so, dass selbst im Debug-Modus Variablen rausoptimiert werden können. Da geht ihr dann am besten mal in die Options Punkt Optimierungen und schaltet dort alle verbliebenen Optimierungen ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442525</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 24 Jan 2008 08:15:24 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 24 Jan 2008 14:01:37 GMT]]></title><description><![CDATA[<p>ich gehe mal davon aus, daß er den 6er meint, da er ja zu diesem Zeitpunkt geschrieben hatte, die 7er funktioniert bei ihm nicht und der 6er gefällt ihm bei weiten besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442809</guid><dc:creator><![CDATA[OldMan00]]></dc:creator><pubDate>Thu, 24 Jan 2008 14:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 24 Jan 2008 14:25:05 GMT]]></title><description><![CDATA[<p>Sorry, konnte nicht früher schreiben (Schule)</p>
<p>OldMan00 schrieb:</p>
<blockquote>
<p>ich gehe mal davon aus, daß er den 6er meint, da er ja zu diesem Zeitpunkt geschrieben hatte, die 7er funktioniert bei ihm nicht und der 6er gefällt ihm bei weiten besser.</p>
</blockquote>
<p>Ja genau, benutze BCB 6, habe nun auch mit ShowMessage(Old); den String ausgegeben, das Fenster zeigt aber nichts an (also wie im Debugger angezeigt).</p>
<p>Vielleicht mach ich ja einen Denkfehler</p>
<p>Hier nochmal das Wichtigste meines Programms:</p>
<p>const.h:</p>
<pre><code>AnsiString Symbol1; //gloable Deklaration
</code></pre>
<p>Konstrukter der Form1:</p>
<pre><code>Symbol1 = &quot;images\\circle.bmp&quot;; //(relativer) Pfad des Bitmaps, welches standardmäßig geladen wird
</code></pre>
<p>OnClick-Ereignis eines Images in der TChangeSymbol-Form:</p>
<pre><code>void __fastcall TChangeSymbol::Image4Click(TObject *Sender)
{
        AnsiString Old;
        if(RadioButtonP1-&gt;Checked)
        {
                //change symbol of player1
                Old = Symbol1;
                //change the old symbols to the new one:
                change_symbols(Old,Symbol1);
        }
        //[...]
}
</code></pre>
<p>Nun der eigentliche Sinn ist es, dass der User das Bild, welches er als Logo haben will, auswählen kann. Im aktuellen Spiel sollte man das alte Spielfeld dann durch die neuen Symbole ersetzen, dadurch muss jedoch auch das alte Symbol bekannt sein (da nicht alles die gleichen Felder sind). Ja das wär's, ich weiß es gäbe auch andere Methoden, aber das hier ist wohl die einfachste, indem ich später die AnsiStrings Old und die gespeicherten im Spielfeld überprüfe und falls notwendig ersetze</p>
<p>Ja es funktioniert leider nicht, ansonsten wird Old aber auch nirgends verändert!?</p>
<p>Hilfe, Abgabetermin ist in einer Woche!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442829</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 24 Jan 2008 14:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 24 Jan 2008 15:46:06 GMT]]></title><description><![CDATA[<p>Hast Du in der Deklaration von TChangeSymbol noch ein zweites Symbol1?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442883</guid><dc:creator><![CDATA[witte_]]></dc:creator><pubDate>Thu, 24 Jan 2008 15:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 24 Jan 2008 16:01:32 GMT]]></title><description><![CDATA[<p>witte_ schrieb:</p>
<blockquote>
<p>Hast Du in der Deklaration von TChangeSymbol noch ein zweites Symbol1?</p>
</blockquote>
<p>Nein auch nicht. Hab auch schon Symbol1 umbenannt (und natürlich überall wo es vorkam), zeigt aber immer noch denselben Fehler!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442899</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 24 Jan 2008 16:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 30 Jan 2008 03:02:11 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TChangeSymbol::Image4Click(TObject *Sender)
{
        AnsiString Old;
        if(RadioButtonP1-&gt;Checked)
        {
                //change symbol of player1
                ShowMessage(Symbol1);
                Old = Symbol1;
                ShowMessage(Old);
                //change the old symbols to the new one:
                change_symbols(Old,Symbol1);
        }
        //[...]
}
</code></pre>
<p>Was gibt dir dieser Quelltext in der ersten bzw. zweiten Box aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446061</guid><dc:creator><![CDATA[stein]]></dc:creator><pubDate>Wed, 30 Jan 2008 03:02:11 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Wed, 30 Jan 2008 20:38:01 GMT]]></title><description><![CDATA[<p>OK, habs jetzt endlich fertig!</p>
<p>Ich weiß nicht genau an was es lag, hab mehrere Änderungen durchgenommen:<br />
- Include-Guards (bei den Konstanten) hinzugefügt<br />
- aus konstanten AnsiStrings variable gemacht (werden natürlich nicht verändert)<br />
das hat nämlich immer zu Linker-Errors geführt <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="😮"
    /> (Einbindung der Variablen in der Header mittels <strong>extern</strong></p>
<p>Nochmal durch Debuggt und plötzlich ging die Zuweisung <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="😮"
    /><br />
Wahrscheinlich lag es an den nicht vorhandenen Include-Guards (achtet immer auf die Linker-Warnungen)</p>
<p>Auf jedenfall funktioniert es nun <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1446647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446647</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Wed, 30 Jan 2008 20:38:01 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 09:02:32 GMT]]></title><description><![CDATA[<p>Das ist halt das Problem mit globalen Variablen. Da tauche derartige Dreckeffekte immer mal wieder auf. Eigentlich ist das ein deutliches zeichen dafür sein Design zu überdenken. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1446819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446819</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 09:02:32 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:08:44 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Das ist halt das Problem mit globalen Variablen. Da tauche derartige Dreckeffekte immer mal wieder auf. Eigentlich ist das ein deutliches zeichen dafür sein Design zu überdenken. <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>
</blockquote>
<p>Ja aber gehört es auch zum guten Programmierstil seine Konstanten nicht global zu definieren? Ich meine hier sind nicht alles Konstanten okay versteh ich, im nächsten Projekt werde ich das anders machen. Aber wenn die Konstanten von (fast) allen Forms gebraucht werden, sollte man dann auch nicht global deklarieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446937</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:08:44 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:16:44 GMT]]></title><description><![CDATA[<p>Bei Konstanten kann man das schon so machen. Ich bevorzuge hier aber eher eine struct in der alle diese Konstanten zusammengefasst werden. Die lege ich dann in einen Singleton ab.<br />
Bei performancekritischen Programmteilen arbeite ich aber auch mit extern.<br />
Ich hatte hier irgendwie nicht gesehen, dass es sich um globale Konstanten handeln soll (kein const).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446944</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:22:04 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Bei Konstanten kann man das schon so machen. Ich bevorzuge hier aber eher eine struct in der alle diese Konstanten zusammengefasst werden. Die lege ich dann in einen Singleton ab.<br />
Bei performancekritischen Programmteilen arbeite ich aber auch mit extern.<br />
Ich hatte hier irgendwie nicht gesehen, dass es sich um globale Konstanten handeln soll (kein const).</p>
</blockquote>
<p>Es waren auch nicht alle global (z.B. Symbol, Symbol2), aber z.B. triangle,cross,... waren globale AnsiStrings. Diese habe ich früher auch als konstant (const) deklariert, durch das extern wollte mir der Linker das aber nie abnehmen (auch wenn ich extern const AnsiString... schrieb). Er brachte immer eine Linker-Error z.B. Undefined Symbol _triangle (mit Unterstrich). Ich habe nun zu Testzwecken das const entfernt und da nur ich an diesem Projekt arbeite, auch darauf geachtet sei nirgends zu verändern (ich weiß, kein guter Programmierstil, aber wenn der Linker nicht mitspielt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446950</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:25:25 GMT]]></title><description><![CDATA[<p>extern const AnsiString ist kein Problem. Wenn dein Linker da nicht mitspielt hast du was anderes falschgemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446954</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:34:42 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>extern const AnsiString ist kein Problem. Wenn dein Linker da nicht mitspielt hast du was anderes falschgemacht.</p>
</blockquote>
<p>Ja aber wenn ich sie nicht konstant deklariere funktioniert alles, wenn ich alles auf const umändere:<br />
const.h:</p>
<pre><code class="language-cpp">const AnsiString triangle = &quot;images\\triangle.bmp&quot;;
</code></pre>
<p>Unit2.cpp:</p>
<pre><code class="language-cpp">extern const AnsiString triangle;
</code></pre>
<p>Das führt zu folgendem Linkererror:</p>
<pre><code>[Linker Fehler] Unresolved external '_triangle' referenced from K:\TICITACTOE\TICITACI6\UNIT2.OBJ
</code></pre>
<p>da ist wohl ansonsten nichts falsch, oder schon? Ach ja, const.h wird in Unit1.h inkludiert, ebenso Unit2.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446970</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:34:42 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:38:12 GMT]]></title><description><![CDATA[<p>Du machst es ja auch genau verkehrt rum. Das</p>
<pre><code class="language-cpp">extern const AnsiString triangle;
</code></pre>
<p>gehört in den Header und die Definition in <strong>eine</strong> cpp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446974</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:44:55 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Du machst es ja auch genau verkehrt rum. Das</p>
<pre><code class="language-cpp">extern const AnsiString triangle;
</code></pre>
<p>gehört in den Header und die Definition in <strong>eine</strong> cpp.</p>
</blockquote>
<p>Ja aber ich definiere die AnsiStrings in meinem Header const.h, wo sie ihren (konstanten) &quot;Wert&quot; zugewiesen bekommen. Somit ist das praktisch einfach eine normale Header-Datei.<br />
Aus der Unit1 rufe ich dann die Unit2 auf, in welcher ich nun mittels extern diese AnsiStrings &quot;einbinde&quot;. Wenn ich die extern-Deklaration in den Header der Unit2 schiebe, bleibt es bei den selben Linker Errors.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446982</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:44:55 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:49:43 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Braunstein hat schon recht. Probier es doch einfach mal aus.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446991</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:49:43 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 13:57:25 GMT]]></title><description><![CDATA[<p>Erläuterungen zu extern und globale Variablen.<br />
<a href="http://www2.informatik.uni-halle.de/lehre/c/c_globv.html" rel="nofollow">http://www2.informatik.uni-halle.de/lehre/c/c_globv.html</a><br />
<a href="http://www.willemer.de/informatik/cpp/geltungvar.htm" rel="nofollow">http://www.willemer.de/informatik/cpp/geltungvar.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446995</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 14:18:13 GMT]]></title><description><![CDATA[<p>Ich glaube ich steh gerade auf der Leitung</p>
<p>In meinem Buch steht:</p>
<pre><code>The extern specifier tells the compiler that the following
variable types and names have been declared elsewhere. In other words, extern lets the compiler know what the types and names are for these global variables without
actually creating storage for them again. When the two modules are linked, all
references to the external variables are resolved.
</code></pre>
<p>Braunstein schrieb:</p>
<blockquote>
<p>Du machst es ja auch genau verkehrt rum. Das</p>
<pre><code class="language-cpp">extern const AnsiString triangle;
</code></pre>
<p>gehört in den Header und die Definition in <strong>eine</strong> cpp.</p>
</blockquote>
<p>Ich habe nun auch versucht die extern-Deklarationen in die Unit2.h zu packen mit demselben Ergebnis. Die Definition meiner AnsiStrings findet in der const.h statt, sollte ich das nun in eine cpp umwandeln? -Wie gesagt, ich steh gerade auf der Leitung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447010</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 14:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 14:21:59 GMT]]></title><description><![CDATA[<p>Nein. extern sagt dem Compiler, dass eine Variable dieses Namens existiert und irgendwo auch definiert wird. Damit die Variable in deinem Programm bekannt gemacht werden kann, packst diese extern Deklaration in einen Header.<br />
Die dazu gehörige Definition packst du in irgendeine cpp damit der Linker sie auch findet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447014</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 14:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 15:09:34 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Also nochmal...</p>
<p>const.h:</p>
<pre><code class="language-cpp">#ifndef CONST_H
#ifndef CONST_H

#include &lt;vcl.h&gt; // Muß mit rein

extern const AnsiString triangle;

#endif
</code></pre>
<p>const.cpp:</p>
<pre><code class="language-cpp">#include &quot;const.h&quot;

const AnsiString triangle = &quot;images\\triangle.bmp&quot;;
</code></pre>
<p>Unit2.h</p>
<pre><code class="language-cpp">#include &quot;const.h&quot;
// ... hier triangle benutzen
</code></pre>
<p>bis bald<br />
akari</p>
<p>/Edit : Code korrigiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447018</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 31 Jan 2008 15:09:34 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 15:06:14 GMT]]></title><description><![CDATA[<p>Diese sch*** Leitungen immer <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="🙂"
    /><br />
Danke für eure Erklärungen, habe sie genauestens befolgt, bekomme nun aber dutzende Compiler-Fehler, an welchen ich schon seit einer halben Stunde ratlos davor sitze:<br />
z.B.</p>
<pre><code class="language-cpp">[C++ Fehler] const.h(5): E2141 Fehler in der Deklarationssyntax
Das zeigt er bei dieser Zeile an:
extern const AnsiString white; //bzw auch bei triangle usw.

Oder dieser hier:
[C++ Fehler] const.h(11): E2238 Bezeichner 'AnsiString' mehrfach deklariert
in diser Zeile hier extern AnsiString Symbol;    //Symbol user 1
</code></pre>
<p>Ich versteh einfach nicht was an dieser Deklaration falsch sein soll, definiert wird white in const.cpp wie oben schon von akari beschrieben:</p>
<pre><code class="language-cpp">const AnsiString white = &quot;images\\white.bmp&quot;;
</code></pre>
<p>Aber ich glaube ohne Quelltext wird es für euch schwer sein einen Fehler zu finden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> , ansonsten hab ich jedoch <strong>nichts</strong> geändert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447075</guid><dc:creator><![CDATA[o*amp*oler]]></dc:creator><pubDate>Thu, 31 Jan 2008 15:06:14 GMT</pubDate></item><item><title><![CDATA[Reply to AnsiString = AnsiString funktioniert nicht!? on Thu, 31 Jan 2008 15:08:55 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wie mans auch macht...<br />
Es fehlt noch der include für die VCL, damit der Compiler den Typ AnsiString kennt. Hab meinen Code korriert.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447078</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 31 Jan 2008 15:08:55 GMT</pubDate></item></channel></rss>