Speichern.....
-
Hmmmh, hab da ein sch... Problem. Ich habe eine Anwendung in MFC die Daten (CObArray...) abspeichert (mit Serialize). Jetzt sind aber neue parameter Hinzugekommen
Seither:
ar << P1 << P2
jetzt;
ar << P1 << P2 << P3.
Wenn ich jetzt ein "altes" File lade, kommt unerwartetes Dateiformat. Wie kann ich den die Version abfragen. Mit dem VERSIONABLE_SCHEMA funktioniert das bei mir nicht, dass steht immer auf 1. Jibt es da bei .net nichts besseres????
Danke für Eure Hilfe!
-
Der erste oder letzte Parameter einer Datei, sollte in der Regel
die Version sein, wenn es verschiedene gibt.Devil
-
Ok, dann habe ich die Version.
Ich habe aber einenen Fall in dem ich ein CObarray serialisiere. Ich habe also eine Klasse die eine Serialize-Funktionen besitzt und füge diese (Klasse) dem Array hinzu. Jetzt kommmt bei der Klasse ein weiterer Parameter hinzu...wenn ich jetzt meinen Array
m_oaTest.Serialize
speichere, kann ich ja die Version nicht mehr abfragen.
-
Der dritte Parameter des Makros IMPLEMENT_SERIALIZE
Auszug aus VC++ in 21 Tagen
Das Makro IMPLEMENT_SERIAL übernimmt drei Argumente. Das erste gibt wie beim Makro DECLARE_SERIAL den Klassennamen an. Das zweite Argument übergibt den Namen der Basisklasse, von der Ihre Klasse abgeleitet ist. Das dritte Argument bezeichnet eine Versionsnummer, aus der man bestimmen kann, ob eine in die Anwendung einzulesende Datei in der richtigen Version vorliegt. Die Versionsnummer muß positiv sein und sollte jedesmal inkrementiert werden, wenn Sie Änderungen an der Serialisierungsmethode der Klasse vornehmen und sich dabei die mit einer Datei auszutauschenden Datenformate ändern.[ Dieser Beitrag wurde am 07.08.2002 um 20:02 Uhr von CrazyOwl editiert. ]