Bonjour,
J'ai ces deux codes de cr�ation de fichier qui fonctionnent tr�s bien dans mon programme :
dans l'evenement FormClose pour sauver un fichier log
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 if (TemoinOperationRealisee == true ) { Memo_Status->Lines->Add(""); Memo_Status->Lines->Add("Logiciel acquisition Fermé " + FormatDateTime(" dddd dd mmm yyyy ", Now()) + " à " +FormatDateTime("hh", Now()) +" h "+ FormatDateTime("nn", Now()) +" min "+ FormatDateTime("ss", Now()) +" s ") ; //enregistrement fichier .log de la session AnsiString NomFichierLog = "ARCHIVES\\"; NomFichierLog = NomFichierLog + FormatDateTime("yyyy-mm-dd-hh", Now()) + "h" + FormatDateTime("nn", Now()) + "min" + FormatDateTime("ss", Now()) + "s" + ".log"; Memo_Status->Lines->SaveToFile(NomFichierLog); } else { }
et
Ces deux codes fonctionnent tres bien au moment o� je les appelle, SAUF SI j'ai cliqu� avant sur un bouton qui fait appel � une action standard TFIleOpen d'une ActionList. Ca plante alors quand je lance l'un ou l'autre des deux codes.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 NomFichier = ".\\ARCHIVES\\"; NomFichier = NomFichier + FormatDateTime("yyyy-mm-dd-hh", Now()) + "h" + FormatDateTime("nn", Now()) + "min" + FormatDateTime("ss", Now()) + "s" + ".mash"; FILE *fichier; unsigned long int k; fichier = fopen( NomFichier.c_str(), "w+"); for (k = 0 ; k < NbARecevoir ; k=k+1) { fprintf(fichier, "%c", Donnees[k] ); } fclose(fichier);
Concernant cette action standard, voici ce que j'ai cr�� :
cr�ation d'une ActionList
Ajout d'une action standard TFileOpen
Reglage du filtre pour l'ouverture de fichier
Affectation du nom de cette action � la propri�t� Action du bouton
...rien de plus
Je suppose qu'en lancant cette action, je charge un flux quelquepart qui fait planter ensuite mon logiciel mais, je ne vous ni quoi ni pourquoi.
L'erreur annonc�e par BCB est respectivment "EFCreatorError" et "EAccesViolation" pour les deux codes ci_dessus. (meme pas pareil dans les deux cas...)
merci d'avance
Partager