2009-11-02 3 views
0

J'observe un accident tout en appelant la fonction CMemFile :: Détacher()accident tout en appelant CMemFile :: Détacher()

L'exception avec la pile d'appel est comme ci-dessous

kernel32! RaiseException + 53 e06d7363 00000001 00000003
msvcrt! _CxxThrowException + 36 0103bb7c 7f0f6eac 00d8bf68
mfc42u! AfxThrowFileException + 61 00000009 00000000 FFFFFFFF
mfc42u! CMemFile :: Seek + 42 fffff159 00000001 00000194
mfc42u! CArchive :: Flush + 26 0103bbf0 7f02d05a 00r32388
mfc42u! CArchive :: Close + a

Cela se produit après la désérialisation d'un objet.

Le schéma versionnable de l'objet semble correct.

Toute idée de wat peut provoquer ce problème

Répondre

0

La fonction AfxThrowFileException a trois paramètres. Le premier paramètre indique la cause. Dans votre cas, il s'agit de CFileException :: badSeek. Cela peut se produire si le pointeur CMemFile est modifié sans notifier l'objet CArchive. Il est préférable d'utiliser l'objet CArchive pour modifier le pointeur de fichier.

Questions connexes