<?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[Methode einer anderen Klasse aufrufen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem: Ich will von meiner Klasse CProject1View aus (abgel. von CView) die Methoden einer anderen Klasse (heisst CWaveNumb) aufrufen. Dies soll über ein Objekt geschehen. Dabei erhalte ich immer die folgende Fehlermeldung:</p>
<p>Debug Assertion Failed, in Zeile 43 von objcore.cpp</p>
<p>Was hab ich da falsch gemacht?<br />
Übrigens: Project1View.h ist in CWaveNumb.cpp includiert.</p>
<p>Danke für jede Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/82989/methode-einer-anderen-klasse-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 17:04:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/82989.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Aug 2004 18:05:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Mon, 16 Aug 2004 18:05:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe folgendes Problem: Ich will von meiner Klasse CProject1View aus (abgel. von CView) die Methoden einer anderen Klasse (heisst CWaveNumb) aufrufen. Dies soll über ein Objekt geschehen. Dabei erhalte ich immer die folgende Fehlermeldung:</p>
<p>Debug Assertion Failed, in Zeile 43 von objcore.cpp</p>
<p>Was hab ich da falsch gemacht?<br />
Übrigens: Project1View.h ist in CWaveNumb.cpp includiert.</p>
<p>Danke für jede Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584004</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Mon, 16 Aug 2004 18:16:46 GMT]]></title><description><![CDATA[<p>Code! Wir brauchen Code!<br />
(aber bitte nicht gleich alles)</p>
<p>a) wie erfolgt der Aufruf, wo kommen die beteiligten Instanzen her, und wie sieh der Code um das Assert drumrum aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584017</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:16:46 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Tue, 17 Aug 2004 18:04:12 GMT]]></title><description><![CDATA[<p>Der Aufruf erfolgt in CProject1View.cpp:</p>
<pre><code>void CIR_Project1View::OnLButtonDblClk(UINT nFlags, CPoint point) 
{

ClassA TempObj;
TempObj.GetWaveNumber(point);

CScrollView::OnLButtonDblClk(nFlags, point);
}
</code></pre>
<p>Debugger verweist auf &quot; ASSERT(this != NULL); &quot; in objcore.cpp</p>
<pre><code>BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
	ASSERT(this != NULL);
	// it better be in valid memory, at least for CObject size
	ASSERT(AfxIsValidAddress(this, sizeof(CObject)));

	// simple SI case
	CRuntimeClass* pClassThis = GetRuntimeClass();
	return pClassThis-&gt;IsDerivedFrom(pClass);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/584851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584851</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Tue, 17 Aug 2004 18:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Tue, 17 Aug 2004 18:47:14 GMT]]></title><description><![CDATA[<p>Sieht aus als wäre TempObj nicht richtig initialisiert. Da ich ClassA nicht kenne, ist es schwer was dazu zu sagen.</p>
<p>Irgendwo in GetWaveNumber() wird IsKindOf() für irgendein Objkt mit einem NULL-Zeiger aufgerufen.</p>
<p>IsKindOf wird in der MFC-spezifischen Run Time Type Information genutzt, um herauszufinden,. ob ein objekt von einem bestimmten Typ ist.</p>
<p>Das beste wäre, du hängst dich mit dem Debugger an die Assertion, und arbeitest dich den Call Stack rauf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584871</guid><dc:creator><![CDATA[peterchen:_ausgeloggt]]></dc:creator><pubDate>Tue, 17 Aug 2004 18:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Tue, 17 Aug 2004 19:03:29 GMT]]></title><description><![CDATA[<p>Das Problem ist, dass ich direkt beim Aufruf die Fehlermeldung erhalte. Der Code der Funktion funct einwandfrei.<br />
Will heissen Der Debugger meckert, wenn ich beim Aufruf angelangt bin, also hier:</p>
<p>TempObj.GetWaveNumber(point);</p>
<p>Danach geht nix mehr. Das meintest Du doch oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584886</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Tue, 17 Aug 2004 19:03:29 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Tue, 17 Aug 2004 19:24:19 GMT]]></title><description><![CDATA[<p>Nu muss ich nochmal nerven. <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>Mein grosses Problem ist im Moment eigendlich, dass die Ansichtsklasse meiner Anwendung zu viele Funktionen hat. Ich finde mich nicht mehr zurecht.<br />
Also wollte ich einige Funktionen in andere Klassen packen, um die Aufgabenverteilung besser organisieren zu können (Ihr wisst schon: Auto-Basisklasse, abgeleitete Klasse Gaspedal, Bremspedal, Airbag...)</p>
<p>Alle Funktionen in der Ansichtsklasse zu implementieren, kann doch wohl nicht die gute Kunst des Programmierens sein oder ?</p>
<p>Hilfe, Hilfe! <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/584905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584905</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Tue, 17 Aug 2004 19:24:19 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Tue, 17 Aug 2004 21:14:55 GMT]]></title><description><![CDATA[<p>LabRat schrieb:</p>
<blockquote>
<p>(Ihr wisst schon: Auto-Basisklasse, abgeleitete Klasse Gaspedal, Bremspedal, Airbag...)</p>
</blockquote>
<p>ein auto is kein gaspedal sondern beinhaltet ein instanz der klasse gaspedal <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/584950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584950</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 17 Aug 2004 21:14:55 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Wed, 18 Aug 2004 17:41:37 GMT]]></title><description><![CDATA[<p>Stimmt! Klappt jetzt übrigens. Der Compiler mochte die Übergabe als Referenz nicht. Mit dem Prototyp:</p>
<pre><code>int GetWaveNumber(CPoint&amp; point);
</code></pre>
<p>gab es ein Problem, mit</p>
<pre><code>int GetWaveNumber(CPoint point);
</code></pre>
<p>nicht mehr. Kann mir das nochmal jemand erklären (bitte) ?</p>
<p>An dieser Stelle, danke für die Mühe und nen schönen Abend noch! <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/585717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585717</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Wed, 18 Aug 2004 17:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Wed, 18 Aug 2004 17:48:11 GMT]]></title><description><![CDATA[<p>hieß der fehler</p>
<p>C2345 Error in line 27. ich mag die übergabe als referenz nicht ?</p>
<p>fehler + aufrufcode please (auch in zukunft)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/585725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/585725</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 18 Aug 2004 17:48:11 GMT</pubDate></item><item><title><![CDATA[Reply to Methode einer anderen Klasse aufrufen on Thu, 19 Aug 2004 15:24:30 GMT]]></title><description><![CDATA[<p>Ne, ich dachte gestern noch ich hätte den Fehler gefunden. Zu früh gefreut! Der eigendliche Fehler lag aber im Funktionsrumpf</p>
<pre><code>void CRange::GetWaveNumber(CPoint&amp; point)
{

CIR_Project3Doc* pDoc = GetDocument();  // das hat den Fehler ausgelöst
...
}
</code></pre>
<p>Ich habe jetzt pDoc einfach als Parameter übergeben</p>
<pre><code>void CRange::GetWaveNumber(CIR_Project3Doc* pDoc, CPoint&amp; point)
{
...
}
</code></pre>
<p>und es funktioniert jetzt (wirklich).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/586507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/586507</guid><dc:creator><![CDATA[LabRat]]></dc:creator><pubDate>Thu, 19 Aug 2004 15:24:30 GMT</pubDate></item></channel></rss>