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 :

Problème de duplication de classe statique


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Points : 184
    Points
    184
    Par défaut Problème de duplication de classe statique
    Bonjour j'ai créé un type de classe permettant l'utilisation de la duplication pour faire un commit et rollback de ma classe de configuration lorsque j'opère une premier fois, tout fonctionne parfaitement, hors un second commit me génère.

    voici les déclarations de ma classe :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    private
        { Déclarations privées }
     
        { Paramtres de configurations }
        fparametres : TParamConfigSNMP;
     
        fdebug_mode : boolean;
        fOnTrace : TonTraceEvent;
        fOnError : TonErrorEvent;
     
        { Configuration courrante }
        class var fConfigModuleSNMP : TConfigModuleSNMP;
        { Ancienne configuration }
        class var foldfConfigModuleSNMP  : TConfigModuleSNMP;
     
        { Evénement lié à l'envoi d'un message de trace }
        class procedure doTrace ( _message_trace : String );
        { Evénement lié à une erreur système }
        class procedure doError ( _unite, _Proc, _Info: String );
        { Renvoi d'un message dans le sorti de debogage standard }
        class procedure DebugMessage ( _message : String );
     
      public
     
        { Constructeur }
        constructor Create;
        {Destructeur }
        destructor Destroy;override;
     
        { Renvoie une instance de la configuration }
        class function getInstanceOf:TConfigModuleSNMP;
        { Mis à jour de la configuration courrante }
        class procedure Commit;
        { Retour à la configuration d'orgine }
        class procedure Rollback;
        { Finalisation de l'enregistrement de la configuration (déchargement) }
        class procedure Finaliser;
        { Initialisation de la lecture de la configuration (Chargement) }
        class procedure Initialiser;
    et la code incriminé :
    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
     
    begin
     
        try
     
            // Ne fonctionne qu'une seul fois
            if assigned(foldfConfigModuleSNMP.fparametres) then
              FreeAndNil(foldfConfigModuleSNMP.fparametres);
     
            //  foldfConfigModuleSNMP.fparametres.Destroy;
     
              foldfConfigModuleSNMP.fparametres := fConfigModuleSNMP.fparametres.Clone;
            SauvegarderIni;
     
        except on E: Exception do
     
          doError(STR_UNITE,STR_PROC,E.Message);
     
        end;

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 710
    Points : 25 593
    Points
    25 593
    Par défaut
    TParamConfigSNMP contient-il des sous-objets ? as-tu cloné recursivement ?
    tu devrais passer par des propriétés publiées ainsi avoir un code générique ...

    Sinon, on utilise plutôt une méthode Assign que Clone, disons que comme Clone masque l'instanciation c'est un peu trompeur ...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 312
    Points : 184
    Points
    184
    Par défaut
    Un bête erreur d'avoir oublié le constructeur de l'objet principal , raahlaala

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [css]problème d'attribution de classe dans deux listes
    Par Mitaka dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 24/11/2005, 19h05
  2. Problème de duplication de ressources
    Par libracom dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2005, 22h29
  3. [GRASP] Problème responsabilité d'une classe
    Par Royd938 dans le forum Design Patterns
    Réponses: 3
    Dernier message: 22/06/2005, 16h13
  4. [C#]Problème DirectX SDK & Sprite(Class)
    Par doccpu dans le forum DirectX
    Réponses: 3
    Dernier message: 16/06/2005, 14h30
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 15h17

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