ouki thx a tout de suite![]()
erf en faite j'ai pas du tout le meme truc avec ma versiondonc j'essaye d'utiliser desespion mais je c'esp pas trop comment on fait
ou en tout cas quand j'arrive sur l'erreur je ne c'est toujours pas d'ou elle vient
mais en pas a pas j'ai remarquer qu'il m'ouvre deux page d'erreur!
la premiere dit :
Exception non gérée à 0x7c81eb33 dans sauvegarde.exe:Microsoft C++ exception: CFileException @ 0x0012fd88.
la dexieme dit :
debug assertion failled ( file : filecore.cpp ; line : 265 )
![]()
quelque soit la version de visual tu trouves une fenetre de context comme celle decrit dans le tuto...
au fait tu as changé le nom dans le CFile ?
si oui tu peux montrer ta modification ?
j'ai cru comprendre que tu ecrivais sur une clef usb ,question bête il y a de la place dessus.
dans un de mes posts j'ai precisé que je n'avais pas catché la construction du CFile ,
ça permettrait d'avoir clairement l'erreur ...
![]()
en faite j'ai fait un copier coller !! j'ai juste essayer de la melanger avec d'autre facon de faire mais c'etait pire !!
et le "demarrer" c'est la meme chose que le "trace" ?
apres : sa ve dire quoi "catché" ??![]()
et sinon je ne programme pas sur ma cles USB , c'est juste pour copier le fichier apres , question de sureter![]()
c'est utiliser le couple TRY/CATCH .
on va faire simple et différend:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 CFile File; CFileException e; if( !File.Open( "c:\\test", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary , &e ) ) { #ifdef _DEBUG afxDump << "File could not be opened " << e.m_cause << "\n"; #else CString str; str.Format("File could not be opened %d",e.m_cause); AfxMessage(str); #endif } int anInt[] = {1,100,150,200,300,500,700,800,523,100}; int nSize=sizeof(anInt)/sizeof(int); File.Write(&nSize, sizeof(int)); // 1 int File.Write(anInt, sizeof(anInt));// ecriture en 1 seule fois. File.Close(); nSize=0; CFile Filer ("c:\\test", CFile::modeRead | CFile::typeBinary ); Filer.Read(&nSize, sizeof(int)); int nNumber; for(int i=0;i<nSize;i++) { Filer.Read(&nNumber, sizeof(int)); TRACE("\ni:%d=%d",i,nNumber); } Filer.Close();
alorsla generation marche comme avant mais apres quand je demarre le projet il ne me lance plus la fenetre Runtime Error mais juste celle :
debug assertion failled ( file : filecore.cpp ; line : 265 )
et j'ai juste changer l'adrresse du fichier![]()
generation == compilation et edition des liens je suppose ?Envoyé par zorglub88
c'est quoi l'erreur reportée dans le panneau debug ?
justement c'est ca le truc ,c'est qu'il y a rien marqué !!!
![]()
si tu traces pas a pas ce code tu peux dire qu'elle est la derniere ligne executée ?
note:normalement en remontant la pile d'execution ca suffit pour la retrouver
mais que tu n'y arrive pas![]()
![]()
dsl![]()
enfin l'erreur se trouve a l'execution de cette ligne:
File.Write(&nSize, sizeof(int)); // 1 int
![]()
bon alors on va encore modifier l'ouverture:
tu devrais avoir un messagebox apparaitre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if( !File.Open( "c:\\test", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary , &e ) ) { CString str; str.Format("File could not be opened %d",e.m_cause); AfxMessage(str); }
alors j'ai changer le AfxMessage en AfxMessageBox !!
puis quand j'ai demarrer mon programme sa m'a ouvert la fenetre avant e me lancer le assertion failled!
ensuite j'ai rechanger l'adresse de c:\\test en d:\\..... et sa a marcher![]()
ENFIN!!!!!!!! (en faite je crois que je fesai une erreur a un endroit
)
mais j'ai regarder a l'emplacement et je n'est pas vu defichier texte!!!!
![]()
tu peux donner le code de l'erreur svp ?
ça serait pas 5 pas hasard ?
![]()
a non c'etait pas une erreur que reperer le compilateur , je copier mal un truc !dsl pour cette erreur !
mais comment on fait apres pour faire que le fichier se voit et soit permanent !!
c'est quoi l'erreur 5 ?![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager