IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

[2005] Gestion des erreurs (Fichier en lecture seule)


Sujet :

Langage Delphi

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut [2005] Gestion des erreurs (Fichier en lecture seule)
    Bonjour à tous,

    Lorsque je quitte mon application, j'enregistre mes paramètres dans un fichier ini, tout marche bien.
    Seulement, lorsque je met mon fichier en lecture seule (pour les tests, il faut prévoir tous les cas), il me met un exception du type einouterror (E/S 103) mais je n'arrive pas à la contourner, il refuse d'aller plus loin et je ne peut donc pas fermer mon application.

    En clair, si je ne peux pas écrire dans le fichier, c pas grave, j'aimerais afficher un message et continuer mon traitement (c'est à dire: fermer l'application).

    Voici mon code:
    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
      cheminComplet := IncludeTrailingPathDelimiter(ExtractFilePath(Application.exename))+nomFicParams;
      try
        AssignFile(fd,cheminComplet);
        try
          Rewrite(fd);
          Writeln(fd,'[CHEMIN_DESTINATION]'+sLineBreak+cheminFic);
        except
          on EInOutError do begin // Il passe bien par la, j'ai mon message
            ShowMessage('Impossible d''écrire dans le fichier de paramètres');
          raise;
          end;
        end;
      finally
        CloseFile(fd);
      end;
    David.

  2. #2
    Membre averti Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Points : 416
    Points
    416
    Par défaut
    lut,
    je ne comprends pas pourquoi tu veux ecrire des infos dans un Fichier qui est ReadOnly ???
    si tu mexplik
    Apprends la science de celui qui sait, et enseigne ta science à celui qui ignore, comme ca, tu auras appris ce que tu ignores et utilisé ce que tu sais.

  3. #3
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Parce que ce logiciel est destiné à des clients dont les droits d'écriture dans les répertoires sont stricts, il n'est donc pas rare de se retrouver dans ce cas de figure, je veux au maximum éviter des messages d'erreur et des comportements non gérés.

    De plus, j'aimerais maitriser completement ce que je fais.
    David.

  4. #4
    Membre averti Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Points : 416
    Points
    416
    Par défaut
    avant decrire dans un Fichier, faut tester si est ReadOnly je suppose?
    Dans c k, faut voir les attributs du fichier.
    Apprends la science de celui qui sait, et enseigne ta science à celui qui ignore, comme ca, tu auras appris ce que tu ignores et utilisé ce que tu sais.

  5. #5
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Mouais...

    C'est une solution mais ce n'est pas vraiment une gestion des exception.
    David.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 298
    Points : 318
    Points
    318
    Par défaut
    Pourquoi tu utilises les File pour un fichier .ini, il y a une classe TInifile qui fait cela très bien

    pourquoi tu redéclenche une exception ?

  7. #7
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Pourquoi tu fais un Raise dans le OnExcept ? En faisant ainsi tu relance l'exception et donc tu annule la fermeture en cours. Supprime le Raise et tu auras ton message une seule fois.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  8. #8
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Merci pour l'info du raise, je ne lui attribuait pas cette fonction.

    Pour la classe ini, c cool, seulement j'utilise aussi ce cas de figure pour un fichier texte, et même topo.

    N'y a t-il pas moyen de lui dire: Si tu n'y arrive pas, tu me fait un showmessage propre et tu laisses tomber la neige !!!
    David.

Discussions similaires

  1. Gestion des erreurs lecture/ecriture des fichiers
    Par darkwalker dans le forum ANT
    Réponses: 1
    Dernier message: 07/07/2012, 18h56
  2. [XL-2007] Erreur "Fichier en lecture seule"
    Par Duddy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/11/2009, 23h56
  3. Gestion des erreurs sur SQLServer 2005
    Par vhellers dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/08/2007, 09h20
  4. gestion des erreurs avec fichier .properties
    Par _momo dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/08/2007, 14h05
  5. [J2EE/JSP] Gestion des erreurs avec une base SQL server 2005
    Par critok dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/04/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo