<?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[Globale Objekte!!!!]]></title><description><![CDATA[<p>Ich habe folgendes Problem.<br />
Ich habe eine Fensterbasierte Anwendung mit dem Assistenten erstellt.<br />
Ich verwende die in daten.h/.cpp deklarierten und initialisierten, um ein in OnNew() aufgerufenes Fenster bzw. die Werte, die der Benutzer eingibt in einem solchen Daten-Objekt abzuspeichern. das klappt soweit ganz gut.<br />
jetzt habe ich aber das Problem, dass ich meine grafische Ausgabe, nachdem die Funktion OnOk aufgerufen wurde, in der Funktion OnDraw untergebracht habe.<br />
Nun habe ich mein Objekt, in dem die Benutzereingaben stehen und die Funktion, in der die Daten aus eben diesem Objekt ausgewertet und ausgegeben werden soll.<br />
Wie bekomme ich hier die verknüpfung???<br />
wenn ich das Objekt Daten in daten.cpp global mache, dann kann ich zwar (in IWPlotView.cpp ) über die<br />
autovervollständigung auf die daten des objektes zugreifen<br />
(z.B.:object-&gt;(autovervollständigung)), allerdings meckert der compiler.<br />
was mache ich falsch????<br />
habe ich mein objekt an der falschen stelle global gemacht/initialisiert???</p>
<p>Im voraus vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/52047/globale-objekte</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 12:45:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/52047.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Oct 2003 20:37:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Globale Objekte!!!! on Wed, 15 Oct 2003 20:37:00 GMT]]></title><description><![CDATA[<p>Ich habe folgendes Problem.<br />
Ich habe eine Fensterbasierte Anwendung mit dem Assistenten erstellt.<br />
Ich verwende die in daten.h/.cpp deklarierten und initialisierten, um ein in OnNew() aufgerufenes Fenster bzw. die Werte, die der Benutzer eingibt in einem solchen Daten-Objekt abzuspeichern. das klappt soweit ganz gut.<br />
jetzt habe ich aber das Problem, dass ich meine grafische Ausgabe, nachdem die Funktion OnOk aufgerufen wurde, in der Funktion OnDraw untergebracht habe.<br />
Nun habe ich mein Objekt, in dem die Benutzereingaben stehen und die Funktion, in der die Daten aus eben diesem Objekt ausgewertet und ausgegeben werden soll.<br />
Wie bekomme ich hier die verknüpfung???<br />
wenn ich das Objekt Daten in daten.cpp global mache, dann kann ich zwar (in IWPlotView.cpp ) über die<br />
autovervollständigung auf die daten des objektes zugreifen<br />
(z.B.:object-&gt;(autovervollständigung)), allerdings meckert der compiler.<br />
was mache ich falsch????<br />
habe ich mein objekt an der falschen stelle global gemacht/initialisiert???</p>
<p>Im voraus vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373216</guid><dc:creator><![CDATA[Lord Schirmschen]]></dc:creator><pubDate>Wed, 15 Oct 2003 20:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Wed, 15 Oct 2003 21:22:02 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Dein daten-obejkt ist doch global, wo liegt dann das problem???</p>
<pre><code class="language-cpp">// obect1.h
extern CGlobal g_global;

class CObject1 {
....
// obect1.cpp
CObject1::DoSomewhat()
{
  g_global.DoSomewhat();
}

// obect2.h
extern CGlobal g_global;

class CObject2 {
....

// obect2.cpp
CObject2::DoSomewhat()
{
  g_global.DoSomewhat();
}

// Global.h
class CGlobal {
...

// Global.cpp
CGlobal g_global;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/373273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373273</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Wed, 15 Oct 2003 21:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Thu, 16 Oct 2003 08:02:02 GMT]]></title><description><![CDATA[<p>Ich habe es ja genauso gemacht wie du es beschrieben hast.<br />
Das Problem ist aber folgendes: Ich kann zwar in irgendeinem anderen Modul, in dem ich die entsprechende header-datei eingebunden habe, auf das objekt zugreifen, aber NUR, wenn ich es nicht compiliert habe, soll heissen: visual c++ bietet beim zugriff über den punktoperator eine liste an variablen, die zum objekt gehören. genau diese liste bekomme ich auch und das muss ja eigentlich heissen, dass der compiler das objekt in dem anderen modul kennt.<br />
ABER: der compiler meckert beim compilieren, obwohl ich die gleiche variable für das objekt benutze, mit der ich das objekt auch initialisiert habe.<br />
die fehlermeldung sieht wie folgt aus:<br />
modell1 = das objekt<br />
dkg23 = eine variable des objektes</p>
<pre><code class="language-cpp">error C2065: 'modell1' : undeclared identifier
IVPlotView.cpp(93) : error C2228: left of '.dkg23' must have class/struct/union type
</code></pre>
<p>Kann ich es besser machen, wenn ich eine variable vom typ zeiger auf das objekt initialisiere????<br />
was mache ich falsch????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373405</guid><dc:creator><![CDATA[Lord Schirmschen]]></dc:creator><pubDate>Thu, 16 Oct 2003 08:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Thu, 16 Oct 2003 09:19:24 GMT]]></title><description><![CDATA[<p>oder soll<br />
ich die ganze sache mit dem globalen objekt anders gestalten???<br />
fakt ist: es muss global sein.<br />
Aber was gibt es sonst noch für möglichkeiten??????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373471</guid><dc:creator><![CDATA[Lord Schirmschen]]></dc:creator><pubDate>Thu, 16 Oct 2003 09:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Thu, 16 Oct 2003 15:26:04 GMT]]></title><description><![CDATA[<blockquote>
<p>Das Problem ist aber folgendes: Ich kann zwar in irgendeinem anderen Modul, in dem ich die entsprechende header-datei eingebunden habe, auf das objekt zugreifen, aber NUR, wenn ich es nicht compiliert habe, soll heissen: visual c++ bietet beim zugriff über den punktoperator eine liste an variablen, die zum objekt gehören. genau diese liste bekomme ich auch und das muss ja eigentlich heissen, dass der compiler das objekt in dem anderen modul kennt.</p>
</blockquote>
<p>cooler satzt <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 />
Die Liste die dir VC++ anzeigt hat nichts zu sagen. Das ist blos ein Assisten... So ziehmlich die einzige möglichkeit welche diesen Fehler produziert, ist das was mit den #include falsch läuft. Also ein #inlcude auf die header welche diese globale Klasse definiert ist überall drinnen wo sie werdendest? Tippfehler ausgeschlossen? Gegenseitige includes ausgeschlossen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373766</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Thu, 16 Oct 2003 15:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Thu, 16 Oct 2003 15:17:03 GMT]]></title><description><![CDATA[<p>CMatt schrieb:</p>
<blockquote>
<p>cooler satzt <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>
</blockquote>
<p>Ohne Worte <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>
]]></description><link>https://www.c-plusplus.net/forum/post/373828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373828</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Thu, 16 Oct 2003 15:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to Globale Objekte!!!! on Thu, 16 Oct 2003 16:19:13 GMT]]></title><description><![CDATA[<p>ja, macht euch nur lustig über die komischen Sätze, die ich schreibe... <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="😉"
    /><br />
ähm, ich habe mein programm ein wenig umgeräumt:<br />
es sieht so aus:<br />
datenobject(hier steht die klasse drin, auf deren objekte zugegriffen werden soll)<br />
daten(modul für eingabe)<br />
IVPlotView(mudul für ausgabe)<br />
ich habe meine objekte in datenobject.h initialisiert (nach dem klassenkörper<br />
mit:</p>
<pre><code class="language-cpp">extern datenobject object1, object2;
</code></pre>
<p>der compiler meckert nicht mehr, wenn ich auf das objekt in einer der beiden<br />
module(daten oder IVPlotView) zugreifen will, aber beim linken gibt es Probleme und zwar folgende:</p>
<pre><code class="language-cpp">daten.obj : error LNK2001: unresolved external symbol &quot;class Datenobject object2&quot; (?object2@@3VDatenobject@@A)
daten.obj : error LNK2001: unresolved external symbol &quot;class Datenobject object1&quot; (?object1@@3VDatenobject@@A)
IVPlotView.obj : error LNK2001: unresolved external symbol &quot;class Datenobject object1&quot; (?object1@@3VDatenobject@@A)
Debug/IVPlot.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
</code></pre>
<p>Tja, wäre gut, wenn ihr eine Lösung hättet.<br />
danke im voraus! und nicht wieder über die sätze lachen....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/373873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/373873</guid><dc:creator><![CDATA[Lord Schirmschen]]></dc:creator><pubDate>Thu, 16 Oct 2003 16:19:13 GMT</pubDate></item></channel></rss>