Serialisierung abändern?



  • hallo

    arbeite mit vc6++ und mfc.

    habe noch ein problem mit serialisierung. und zwar kann ich nicht die standard-funktion dazu nehmen.

    ich habe in meinem sdi-projekt mehrere formulare. formular1 ist das hauptformular, das immer am anfang geladen wird. von diesem formular aus kann man mehrere menüpunkte aus anwählen. ein menüpunkt ist eben, dass man eine datei mit datensätzen generieren kann. dazu wechselt man auf ein anderes formular, auf dem man unter anderem den pfad zu der zu generierenden datei angeben muss. danach kommt man auf formular 2 (es folgen noch weitere) auf denen man den datensatz zusammenbaut. ist der datensatz fertig eingegeben, klickt man auf einen button "datensatz speichern" und der datensatz wird in der datei gespeichert. automatisch kommt man wieder auf formular2 und kann einen neuen datensatz eingeben.

    das funktioniert auch alles wunderbar, solange man nicht das programm verlässt oder z.b. auf formular 1 wechselt. wenn man das eben macht, soll eine meldung erscheinen, ob die daten gespeichert werden sollen. dafür ist ja die serialisierung zuständig. nur kann ich nicht die standard-serialisierung nehmen, da die datei ja schon existiert und der datensatz nur noch angehängt werden müsste.

    hoffe ihr versteht mein problem. bräuchte praktisch nur eine messagebox, eben fragt, ob der datensatz gespeichert oder verworfen werden soll. und nicht die serialisierung, die die mfc bietet.

    jemand ne idee, wie man sowas machen könnte?

    bedanke mich recht herzlich
    cu



  • So nebenbei wenn wir grad beim Thema sind, ichz hab mich schon öfter gefragt was Serialisierung ist, also was ist des?



  • hallo

    kurz und bündig:
    das dokumentobjekt stellt eine funktion namens serialize zur verfügung. diese funktion wird aufgerufen, wenn dein dokument gespeichert wird. du kannst also dort code für das speichern und lesen einbauen.

    oder lese folgendes (da ist auch ein beispiel dazu da): http://home.wtal.de/ranzurmall/visualc/serialo.htm

    cu



  • danke 😉


Anmelden zum Antworten