Violation d'accès en lecture à la ligne 10...
- void CTableauBlancDoc::ProcessPendingRead(void)
- {
- // if (!BConnecte) return;
- TRY
- {
- AfxMessageBox("dans le try");
- CDessin* d;
- d= new CCarre;
- AfxMessageBox("Apres carre");
- if (! Pt_arIn->IsBufferEmpty()) // ici violation d'accès en lecture
- d->Serialize(*Pt_arIn);
- AfxMessageBox("Serialize ok");
- Elements.Add(d);
-
- UpdateAllViews(NULL);
- }
- CATCH (CFileException, e) // ne marche pas avec CArchiveException....
- {
- if (Serv!=NULL)
- {
- Serv->Close();
- delete Serv;
- Serv = NULL;
- }
- AfxMessageBox("Connexion perdue");
- BConnecte = false;
- }
- END_CATCH
-
-
- }
J'ai déclaré mes CArchive et Sockets ainsi:
- class CTableauBlancDoc : public CDocument
- {
- [...]
- public :
- [...]
- CTableauBlancSocket *Serv;
- CTableauBlancSocket *Sock;
- CSocketFile *Pt_file;
- CArchive *Pt_arIn;
- CArchive *Pt_arOut;
-
- };
Pourquoi je ne peux pas sérialiser dans cette archive à partir de la classe même (CDocument) ou elle est déclarée ??
Quelqu'un pourrait m'expliquer la source de cette violation d'acces en lecture à ma variable ?
J'arrive à sérialiser dans Pt_arOut à partir d'une classe dérivant de CScrollView...
Merci d'avance !