visual c++ hängt sich bei serialize auf
-
also: einfaches Zeichenprogramm unter mfc. Wenn ich jetzt die Figur abspeichern will hängt sich zuerst das Fenster auf und in kürzester Zeit das ganze Windows.
Da erscheint nicht einmal der Dialog für speichern.Und deshalb vermute ich, dass das mit der Serialize Funktion zu tun hat.
Aber mehr als das da hab ich da net drinnen stehen:void CCTriangleDoc::Serialize(CArchive& ar) { int i; if (ar.IsStoring()) { if(dCheck==true) { help=0; }else { help=1; } if(transparent==true) { thelp=0; }else { thelp=1; } ar << help; ar << dRadius; ar << dStrich; ar << nIndex; ar << fillcolor[0]; ar << fillcolor[1]; ar << fillcolor[2]; ar << Punkt; ar << thelp; for(i=0;i<3;i++) { ar << array[i].x; ar << array[i].y; } } else { if(help=0) { dCheck=true; }else{ dCheck=false; } if(thelp=0) { transparent=true; }else{ transparent=false; } ar >> help; ar >> dRadius; ar >> dStrich; ar >> nIndex; ar >> fillcolor[0]; ar >> fillcolor[1]; ar >> fillcolor[2]; ar >> Punkt; ar >> thelp; for(i=0;i<3;i++) { ar >> array[i].x; ar >> array[i].y; } } }Bitte hilfeeeeeeee

-
Mal ein paar Grundsatzfragen:
Hast du deine Klasse CCTriangleDoc von CObject abgeleitet?
Hast du die 2 Makros für die Serialisierung in diese Klasse eingebunden? --> IMPLEMENT_SERIAL und DECLARE_SERIAL
In der Serialize-Funktion würde ich zu Beginn auch die Funktion der Basisklasse aufrufen, also// Funktion der Basisklasse aufrufen CObject::Serialize(ar);
-
also ich hab das folgende problem
ich habe das serial mal nicht eingebunden
dann kann ich mode::Write benutzen aber nur wenn das file schon vorhanden ist.
dann hab ich gedacht
ok dann macht das mal mit serial
ok
Mein problem ist nachdem ich folgenden code reinschreibe mein programm zwar aufgerufen wird, aber sonst nichts macht und wenn ich auf EXIT klicke stuerzt es zwar nciht direkt ab, aber es kommt ne box in der steht ...irgendwas mit muss ein integer wert sein. hmmmm
wenn ich die sachen wieder rausnehme dann geht alles wieder ausser das ich halt nicht wirklich createn kann
jetzt hab ich folgendes gemacht
in der header:
class CTestSuite: public CDialog { DECLARE_SERIAL ( CTestSuiteFCNMPDlg ) // .......... virtual void Serialize( CArchive &ar ); /..... }und der der cpp
//include blablabla IMPLEMENT_SERIAL (CTestSuiteFCNMPDlg, CObject, 1) //dann die funktionen // dann noch void CTestSuiteFCNMPDlg::Serialize(CArchive& ar) { if (ar.IsStoring()) { } else { } }mein save button ist so
//.... int max = m_test_list.GetCount(); if(max != 0 ) { CFileDialog ldFile(FALSE); if(ldFile.DoModal() ) { CStdioFile fDatei(ldFile.GetFileName(), CFile::modeWrite); /......jetzt ist noch die frage ( als 2tes ) in ldFile ja der pathname steht mit den eingegebenen namen + ext. wie kann ich jetzt das so machen dass ich vorbelegt folgendes habe
filename ist der name in einer editbox + das heutige datum + .txt
jetzt soll dies schon vorbelegt sein und ich tue ja mit dem DoModal() ja nur das vorgefertigte speichern dialog auswahlen wo dann filename steht udn ich halt nur den weg dorthin browse.
filename kann ich ja erzeugen. aber wie kriege ich dies in dem dialog rein??
kann mir bitte jemand helfen????
-
hi
tut niemand von euch auf dateien zugreifen???? muessen doch schon einige von euch hinbekommen haben ?!?!?!