<?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[Seralisierung von Basisklasenzeigern mit Adressierung auf Abgeleite Klasse]]></title><description><![CDATA[<p>Hallo Zusammen, ich habe folgendes Problem und bitte um Hilfe</p>
<p>Ich halte in meiner Dokumentklasse eine Basisklasse(Zeiger auf diese) die nur als Schnittstelle dient. Während der Laufzeit wird dieser Zeiger dann mit einem Objekt vom Typ einer abgeleiteten Klasse adressiert.<br />
Beim Speichern dieses Objekts über die Serialize Methode wird dieses auch korrekt Serialisiert. Die Deserialisierung bringt jedoch die Fehlermeldung falsche Dateiformat (Schemanummer ist jedoch nicht der Fehler). Ursache ist wohl (Debugvorgang verfolgt) das die Deserialisierungsmethode einen Vergleich macht zwischen dem Typ der abgespeicherten Klasse und dem Typ der zu ladenden Klasse die ja zu diesem Zeitpunkt noch eine Basisklasse ist. Ich müsste wohl zuerst den Typ der abgespeicherten Klasse auslesen und dann ein Objekt davon erstellen. Nur wie soll das gehen.</p>
<p>void CDoc::Serialize(CArchive&amp; ar)<br />
{<br />
if (ar.IsStoring())<br />
{<br />
ar&lt;&lt;m_pBase; //Serialize Methode der Abgeleitete Klasse aufrufen<br />
}<br />
else<br />
{<br />
ar&gt;&gt;m_pBase<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/47984/seralisierung-von-basisklasenzeigern-mit-adressierung-auf-abgeleite-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 03:45:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/47984.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Sep 2003 07:12:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seralisierung von Basisklasenzeigern mit Adressierung auf Abgeleite Klasse on Thu, 04 Sep 2003 07:12:33 GMT]]></title><description><![CDATA[<p>Hallo Zusammen, ich habe folgendes Problem und bitte um Hilfe</p>
<p>Ich halte in meiner Dokumentklasse eine Basisklasse(Zeiger auf diese) die nur als Schnittstelle dient. Während der Laufzeit wird dieser Zeiger dann mit einem Objekt vom Typ einer abgeleiteten Klasse adressiert.<br />
Beim Speichern dieses Objekts über die Serialize Methode wird dieses auch korrekt Serialisiert. Die Deserialisierung bringt jedoch die Fehlermeldung falsche Dateiformat (Schemanummer ist jedoch nicht der Fehler). Ursache ist wohl (Debugvorgang verfolgt) das die Deserialisierungsmethode einen Vergleich macht zwischen dem Typ der abgespeicherten Klasse und dem Typ der zu ladenden Klasse die ja zu diesem Zeitpunkt noch eine Basisklasse ist. Ich müsste wohl zuerst den Typ der abgespeicherten Klasse auslesen und dann ein Objekt davon erstellen. Nur wie soll das gehen.</p>
<p>void CDoc::Serialize(CArchive&amp; ar)<br />
{<br />
if (ar.IsStoring())<br />
{<br />
ar&lt;&lt;m_pBase; //Serialize Methode der Abgeleitete Klasse aufrufen<br />
}<br />
else<br />
{<br />
ar&gt;&gt;m_pBase<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/346866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/346866</guid><dc:creator><![CDATA[JN_Hydro]]></dc:creator><pubDate>Thu, 04 Sep 2003 07:12:33 GMT</pubDate></item><item><title><![CDATA[Reply to Seralisierung von Basisklasenzeigern mit Adressierung auf Abgeleite Klasse on Thu, 04 Sep 2003 10:04:03 GMT]]></title><description><![CDATA[<p>Deine Klasse muss<br />
1. von CObject abgeleitet sein und<br />
2. die Makros DECLARE_SERIAL sowie IMPLEMENT_SERIAL implementieren</p>
<p>Dann sollte es gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/346994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/346994</guid><dc:creator><![CDATA[DECLARE_SERIAL]]></dc:creator><pubDate>Thu, 04 Sep 2003 10:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to Seralisierung von Basisklasenzeigern mit Adressierung auf Abgeleite Klasse on Thu, 04 Sep 2003 10:35:32 GMT]]></title><description><![CDATA[<p>DECLARE_SERIAL schrieb:</p>
<blockquote>
<p>Deine Klasse muss<br />
1. von CObject abgeleitet sein und<br />
2. die Makros DECLARE_SERIAL sowie IMPLEMENT_SERIAL implementieren</p>
<p>Dann sollte es gehen.</p>
</blockquote>
<p>Nein, das ist nicht das Problem. Dies habe ich natürlich getan. Thema<br />
ist Basisklassenzeiger als Schnittstelle und Serialisierte Objekte jedoch als Ableitungen davon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/347028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/347028</guid><dc:creator><![CDATA[JN_Hydro]]></dc:creator><pubDate>Thu, 04 Sep 2003 10:35:32 GMT</pubDate></item></channel></rss>