CArchiv funzt nicht
-
Hallo,
Versuche gerade eine Speicherfunktion für Grundeinstellungen einzubauen. Aber beim Zugriff auf die Datei werde ich immer rausgeworfen.
serialize habe ich überschrieben, um verschiedene Daten ein- und auszulesen. Aber so weit komme ich gar nicht, da die Datei leer bleibt ?!?
Ich hatte mir das eigentlich schön vorgestellt:
File auf -> CArchiv dran -> lesen/schreiben über Serialize() -> Archiv zu (Close() gibt Fehler???) -> File zu
Wo ist mein Fehler???????????

void CDebugServerDlg::OnSave() { if (CSFilename != "") { CFile Envfile; if( !Envfile.Open( CSFilename, CFile::modeCreate | CFile::modeReadWrite ) ) { CArchive ar (&Envfile, CArchive::store); Serialize(ar); ar.Abort(); //Envfile.Close(); } } } void CDebugServerDlg::OnLoad() { if (CSFilename != "") { if( !Envfile.Open( CSFilename, CFile::modeReadWrite ) ) { Envfile.SeekToBegin(); CArchive ar (&Envfile, CArchive::load); Serialize(ar); //ar.Abort(); //Envfile.Close(); } } }
-
Was heißt denn "rausgeworfen"? Mach mal try/catch drumherum
try { CFile file(name, blabla); // ... } catch(CException* e) { e->ReportError(); e->Delete(); }ODER:
TRY { CFile file(name, blabla); // ... } CATCH_ALL(e) { e->ReportError(); } END_CATCH_ALL
-
Ohoh,
der Fehler lag ganz woanders. Ich arbeite mit zwei Datenstrukturen, die sich aber nur in einer Richtung aktualisieren... Hab natürlich die falsche genommen. Dann kann die richtige Lösung von CArchiv auch nicht funktionieren.
PS
Der Code oben ist sowieso total verhunzt
Aber Danke für die Mühe
sarasne