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 :

[D2006]Erreur déclarations diffèrent


Sujet :

Langage Delphi

  1. #1
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut [D2006]Erreur déclarations diffèrent
    Bonjour,

    Lors de vérification de la syntaxe d'un programme j'ai une errreur qui n'existait pas avant concernant la procedure "P_Date".

    [Pascal Erreur] DEPMODD.PAS(93): E2037 La déclaration de 'P_Date' diffère de la déclaration précédente et
    [Pascal Erreur] DEPMODD.PAS(59): E2065 Déclaration forward ou external non satisfaite : 'TDepMod.P_Date'
    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
    Unit
      ...
      public
        { Déclarations publiques }
        procedure P_Annee;              //année du contenu du f.Wdep.dbf
        procedure P_Date(var CAn : TCh4; var CMois : TCh2; var LMois : string);   //actuelle 
        procedure SommeWdep(Filtre : string; var TotDebit, TotCredit : double);
         ...
     
    implementation
       ...
    procedure TDepMod.P_Date(var CAn : TCh4; var CMois : TCh2; var LMois : string);
    var
       ...
    end;

    J'ai fait un copier/coller de la déclaration initiale mais l'erreur subsiste toujours
    et ne concerne que cette procédure.

    Elle est apparue après avoir complété le programme.
    Précédemment la vérification était correcte et la compilation se faisait sans erreur.

    Il est évident que si je cache la chaîne entre parenthéses (avec //) je n'ai plus l'erreur.

    D'où vient cette anomalie. Où est l'erreur ?

    PL

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Points : 5 918
    Points
    5 918
    Par défaut
    Bonjour,
    1. Avez vous essayé la commande "Tout reconstruire" plutôt que se limiter à une vérification syntaxique ?
    2. Un caractère "invisible" qui trainerait ?
    3. La classe est elle hérité d'une autre classe où il y aurait une procédure de même nom ?

    --
    Philippe.

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 505
    Points : 3 135
    Points
    3 135
    Par défaut
    il n'y aurait pas une procédure similaire dans une classe parente ?

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 294
    Points : 1 949
    Points
    1 949
    Par défaut
    Est-ce que TCh4 ou TCh2 ne serait pas redéfini dans une des uses de la partie implémentation?

  5. #5
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    bonjour,

    Merci pour vos réponses.

    Après tests de vos suggestions il semblerait qu'il y ait un problème pour le Type TCh4 qui était défini, à une majuscule prés (Tch4), dans une autre fiche réferencée dans le "uses" de l'interface.

    Le fait d'avoir rajouté la déclaration de TCh4 a annulé l'erreur, mais qui ne se reproduit pas si je la supprime ???.

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

Discussions similaires

  1. Erreur Déclaration function
    Par WDKyle dans le forum VB.NET
    Réponses: 7
    Dernier message: 25/03/2010, 19h28
  2. Erreurs entre différents utilisateurs d'un même classeur
    Par alpilon dans le forum Conception
    Réponses: 2
    Dernier message: 14/01/2010, 12h12
  3. [D2006] Erreur de Compilation duplicate ressource
    Par SergioMaster dans le forum Delphi
    Réponses: 5
    Dernier message: 30/06/2007, 11h11
  4. C erreur déclaration
    Par Yanmeunier dans le forum C
    Réponses: 24
    Dernier message: 27/10/2005, 18h24
  5. erreur déclaration variables
    Par bobic dans le forum ASP
    Réponses: 4
    Dernier message: 13/09/2005, 11h11

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