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

C++Builder Discussion :

TIniFile et gestion de la concurrence


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sylvain.cool
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 242
    Par défaut TIniFile et gestion de la concurrence
    Bonjour,

    J'utilise la classe TIniFile pour gérer une liste dynamique pouvant être utilisé par plusieurs programmes.

    Les programmes pouvant théoriquement ouvrir le fichier .ini en même temps, il faut gérer la concurrence.

    Mon collègue me dit qu'en utilisant la classe TIniFile, cela se fait tout seul. Mais je n'ai pas trouvé d'infos dessus.

    Si quelqu'un le sait le sait, je lui serait reconnaissant de m'en dire un peu plus.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    J'avous que je ne me suis jamais poser la question!

    Mais pour être certain de bien gerer la concurrence, voilà une solution (a tester):

    Utiliser TMemIniFile, identique à TInifile, sauf qu'il travail en mémoire et pas directement sur le fichier, et il update (ecrits les modifs de la mémoire au fichier) le fichier uniquement a l'appel de la méthode UpdateFile() ).

    Ensuite, a chaque fois qu'un de tes programmes veut lire/écrire dans le fichier, tu l'ouvre d'abord en mode exclusif pour t'assurer que le fichier n'est pas utilisé ailleurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     //essai d'ouvrir le fichier en mode exclusif
    int Handle= FileOpen( "C:\\MonFichier.ini" , fmShareExclusive );
     if (Handle != -1)
     {
       FileClose(Handle) ;
       //Là tu peux ecrire ou lire, le fichier n'est utilisé que par ce programme
     }
    Après peut être que TIniFile gère très bien la concurrence tout seul, et tout ça devient alors inutile.

Discussions similaires

  1. Gestion de la concurrence
    Par Mynautor dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/10/2006, 10h19
  2. Gestion des accès concurrent
    Par nicoaix dans le forum Access
    Réponses: 3
    Dernier message: 06/07/2006, 15h54
  3. Gestion des accès concurrents à une table
    Par kodo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/06/2006, 14h05
  4. [Hibernate] Gestion d'acces concurrents
    Par K-Kaï dans le forum Hibernate
    Réponses: 9
    Dernier message: 01/06/2006, 16h08
  5. Réponses: 3
    Dernier message: 30/05/2006, 19h09

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