cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 2011
-
4 nov. 2006 à 13:36
OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 2007
-
5 nov. 2006 à 08:23
Bonjour à tous,
Voila je conçois un application en VB avec Microsoft Visual Basic 2005 Edition Express. Le but de cette application est de gérer une liste d'étudiants avec une structure et je voudrais s'il existe un quelconque moyen de détecter le crash d'une application afin de pouvoir sauvegarder le contenu de la structure dans un fichier pour le restaurer au prochain démarrage de l'application.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 4 nov. 2006 à 17:54
Salut Darksidious,
Je fais des applications qui ne plante pas, mais parfois un programme peut qu'il ne réponde plus et du coup, on a pas le choix, on est obligé de faire terminer maintenant sous windows XP et l'utilisateur n'auras pas pu enregistrer sa liste d'étudiants
c'est pourquoi, je voudrais détecter si l'application plante (par exemple : quand word plante il te propose de récupérer ton document ou une partie de celui-ci. Je voudrais faire la même chose avec ma structure. Je crois avoir entendu que le code d'office était en VB donc il est techniquement possible de le faire.
Imaginons que mon application plante, si je met du code dans l'évènement Form1_Unload ou Form1_Close est ce que cet évènement s'éxécuterais si l'application plante ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 4 nov. 2006 à 18:28
Lol, office en VB, ca me ferais bien rire ! Office permet de faire du VBA, et les dernières versions sont relativement lourdes, mais de là à ce qu'il soit codés en VB quand même ! C'est comme si solaris était codé en java, lol !
Non, le code dans le Form_Unload ou Form_Close ne sera pas éxécuté puisque ton prog sera fermé violement => plus rien de sera exécuté !
De toute façon, en cas de coupure de courant par exemple, comment voudrais-tu pouvoir éxécuter quelques chose juste avant que le PC s'éteigne ??? cà n'a aucun sens !
Par contre, tu peux faire un système où tu enregistre de temps en temps des sauvegardes de ce qui est fait (ce que fait office en tâche de fond), et revenir à la dernière sauvegarde si ton prog n'a pas été fermé correctement (mettre une clé de la base de registre à une certaine valeur à chaque ouverture/fermeture de ton prog te permettrait de savoir s'il a été terminé normalement ou pas).
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 4 nov. 2006 à 18:35
"...code d'office était en VB..."
Non Office est codé en C et C++, c'est le langage de programmation des macros qui est une variante de VB, C'est VBA.
Détecter le crash d'une application.... Et même si c'est possible, c'est trop tard. Ton application à crasher, il n'y a plus rien à récupérer. Et de toute façon elle est arretée par le système, elle n'a plus (et n'auras plus) la main.
Le fonctionnement de word est simple. Régulièrement lorsque tu travaille, Word enregistre certaines infos dans un fichier tampon.
Lorsque ton document est enregistré sur le disque, le fichier tampon est vidé et détruit. Puis ça recommence. Si Word crashe, ce fichier n'est pas détruit.
A chaque lancement Word vérifie si de tels fichiers existent. S'il en trouve un, il sait qu'il y a eu un crash. Il lui reste plus qu'ouvrir le fichier et récupérer les infos d'avant le crash (mais jamais au moment précis de crash).
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 4 nov. 2006 à 20:13
Merci à DARKSIDIOUS et casy de m'avoir répondu.
Comment peut on savoir si le programme c'est fermé correctement ? Existe t-il un évènement ou une fonction permettant de savoir si l'application s'est bien fermée et si ce n'est pas le cas. Sinon DARKSIDIOUS je trouves ton idée de créer un fichier pour sauvegarder la liste d'étudiants régulièrement très intéressantes. J'utiliserais un timer pour la réaliser. Mais je préfère détecter l'existence d'un fichier que mettre une clé dans le registre.
Sinon est ce que tu connaitrais un moyen de pouvoir sauvegarder et lire une structure en une fois avec la fonction FilePut et FileGet ? Si oui comment ? parce que je trouves ça pas très élégant de faire un for pour enregistrer chaque étudiant un par un
Ma structure est déclarée de cette manière :
Public
Structure ETUDIANT
Dim Nom
As
String
Dim Prenom
As
String
Dim Bac
As
String
Dim NoteSH
As
Decimal
Dim NoteGE
As
Decimal
Dim NotePP
As
Decimal
Dim NoteMOY
As
Decimal
Dim Rang
As
Integer