Serialisierung in MFC

Dieser Artikel beschreibt den Serialisierungsmechanismus, der in der Microsoft Foundation Class Library (MFC) bereitgestellt wird, um Objekte zu ermöglichen, zwischen Ausführungen des Programms beibehalten werden.

Die Serialisierung ist der Prozess zum Schreiben oder Lesen eines Objekts in einen oder aus einem Speichermedium des permanenten Speicher z. B. eine Datenträgerdatei.Die Serialisierung ist ideal für Situationen, in denen es gewünscht wird, um den Zustand von strukturierten Daten (z) - Strukturen oder C++-Klassen während oder nach der Ausführung eines Programms beibehalten werden.Verwenden der Serialisierung Objekte, die von MFC bereitgestellte diesem können in einer Standard- und einheitliche Weise ausgeführt und entlastet den Benutzer aus der Anforderung, Dateioperationen manuell auszuführen.

Integrierte Unterstützung MFC-Zubehör für die Serialisierung der Klasse CObject.Auf diese Weise können alle von CObject abgeleitete Klassen das Serialisierungsprotokoll von CObject nutzen.

Die Grundidee der Serialisierung besteht darin, dass ein Objekt in der Lage sein sollen, deren aktuellem Status zu schreiben, normalerweise durch den Wert der zugehörigen Membervariablen zum permanenten Speicher.Später kann das Objekt neu erstellt werden, indem liest aus dem Speicher der Objektzustand, oder deserialisiert.Serialisierung behandelt alle Details von Objektzeigern und Zirkelverweise auf Objekte, die verwendet werden, wenn Sie ein Objekt serialisieren.Ein Punkt befindet sich das Objekt selbst zum Lesen und Schreiben von ihren eigenen Zustand zuständig ist.Daher dass eine Klasse serialisierbar ist, muss er die grundlegenden Vorgänge Serialisierung implementieren.Wie in der Gruppe Serialisierung von Artikeln gezeigt, ist es einfach, diese Funktionalität einer Klasse hinzu.

MFC verwendet ein Objekt der CArchive-Klasse als Vermittler zwischen dem zu serialisierenden Objekt, und das Speichermedium.Dieses Objekt wird immer mit einem CFile-Objekt zugeordnet, von dem es sich um die notwendigen Informationen, einschließlich Serialisierung für den Dateinamen abruft und ob der angeforderte Vorgang ist oder ein Lesevorgang schreiben.Das Objekt, das den Serialisierungsvorgang ausführt, kann das CArchive-Objekt ohne Berücksichtigung der Art des Speichermediums verwenden.

Ein CArchive-Objekt verwendeten Einfügemodus überladene Operatoren (<<) und der Extraktion (>>), um Lese- und Schreiben- Vorgänge auszuführen.Weitere Informationen finden Sie unter Serialization: Artikel in der CObjects über ein Archiv Laden und Speichern Ein Objekt serialisieren.

HinweisHinweis

Verwechseln Sie die CArchive-Klasse nicht mit allgemeinen iostream Klassen, die nur für formatierten Text sind.Die CArchive-Klasse ist für Binärformat serialisierten Objekten.

Wenn Sie möchten, können Sie MFC-Serialisierung umgehen, um eigenen Mechanismus zum dauerhaften Datenspeicherung zu erstellen.Sie müssen den Klassenmember überschreiben diese Funktion initiieren Serialisierung für den Befehl des Benutzers.Weitere Informationen finden Sie in der Erläuterung Technischer Hinweis 22 der ID_FILE_OPEN, ID_FILE_SAVE Befehle und ID_FILE_SAVE_AS Standardwert.

Die folgenden Elemente sind die zwei Hauptaufgaben, die für die Serialisierung erforderlich sind:

Der Artikel Serialisierung: Serialization vs. Database Input/Output beschreibt, wann die Serialisierung eine entsprechende Eingabe/Ausgabe-Technik in Datenbankanwendungen.

Siehe auch

Referenz

CArchive-Klasse

CObject-Klasse

CDocument-Klasse

CFile-Klasse

Konzepte

Allgemeine MFC-Themen

Weitere Ressourcen

MFC-Konzepte