Probleme mit serialisierbarer Klasse
-
Ich habe in Anlehnung an das Kapitel 13 aus Visual C++ in 21 Tagen eine SDI-Datenbank-Anwendung erstellt, die man mit Hilfe von Serialize speichern und laden kann.
Jetzt benötige ich eine weitere Variable und habe diese in der zu serialisierenden Klasse eingefügt.
Die Funktion Serialize habe ich noch nicht dementsprechend geändert, dass die Variable mit abgespeichert/geladen wird.Trotzdem funktioniert jetzt nur noch das Abspeichern ohne Beanstandungen des Compilers, der Versuch eine Datei zu laden oder ein Klick auf Datei/Neu bringt folgende Fehlermeldung:
Debug Error!
Program: .../MEINPROG.EXE
DAMAGE: after Client block (#107) at 0x00792C60
Wenn ich dann auf Wiederholen und anschließend auf Debug klicke, komme ich in die zu VC++ gehörende Datei DbgHeap.c Zeile 1033: (BYTE
pbData(pHead));
Wenn ich es richtig verstehe, versucht er Platz auf dem Heap zu bekommen, was irgendwie fehlschlägt. Kann mir das mal jemand erklären und einen Tipp geben, was man da machen kann?
-
Die Variable mal mitspeichern.
Wenn Du als Member eine Klasse die von CObject erbt dabei hast musst Du sie
extra mit serialize(archive) speichern.Probier mal aus was passiert wenn Du das machst...
-
Ich habe die Varibale mit in die Serialisierung aufgenommen, was aber keine Veränderung bewirkt hat: Gleicher Absturz, gleiche Fehlermeldung.
Die Serialize-Funktion der serialisierbaren Klasse wird wohl auch gar nicht erst aufgerufen. Bei Datei/Neu stürzt das Programm ja auch ab.