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 :

Prob appel procedure dans if then else


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut Prob appel procedure dans if then else
    Bonjour à tous,

    J'ai un soucis avec des procedures (ouvertureSheet, ObjetCreate, et Exectest).
    Je les ai bien déclaré et programmé. Et delphi à l'air de les reconnaitre.
    Un procedure (Test) fait appel à ces 3 procédures dans un enchainement de if then else.
    Mais c'est comme si il ne les reconnaissait pas.
    Je ne vois pas mon erreur...


    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
    procedure Test();
          begin
            //initialise Num
            Num:=0;
            //ouvre le fichier Cfg.txt
            AssignFile(Fichier, Path+'\Cfg.txt');
            //remet le curseur à zéro
            Reset(Fichier);
            //traitement par ligne
            while not EOF(Fichier) do
              begin
                //lit la ligne
                Readln(Fichier, Ligne);
                Mot:=AnsiLeftStr(Ligne, 1);
                if Mot='$' then
                  OuvertureSheet()
                else
                  if Mot='*' then
                    ObjetCreate()
                  else
                    if Mot='?' then
                      ExecTest();
              end;
            //ferme le fichier
            CloseFile(Fichier);
          end;

  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
    Est ce que ton programme compile?

    Est ce que ton programme s'exécute sans erreur?

    Exécute ton code en mode pas-à-pas (F8) pour voir où tu passe et où tu ne passe pas.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut
    Sat, en fait, il ne compile pas tant que les procédures ne passent pas.
    il me met identificateur non déclaré.
    Pourtant mes procédures sont bien déclarées.
    Je ne comprends pas.

    Si j'écris par exemple OuvertureSheet(); dans une autre procedure, ça passe très bien, il reconnait l'appel à la procédure. Elle est donc bien déclarée je pense.
    A croire que c'est ma structure ExecTest qui plante.

  4. #4
    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
    Citation Envoyé par Oxygn44 Voir le message
    il ne compile pas
    Ta procédure/fonction ne dois pas être déclarée correctement.

    Est-ce qu'elle fais partie d'une classe? Si oui, a tu vérifier que ta procédure soit précéder du nom de ta classe?

    par exemple :

    procedure TForm1.OuvertureSheet ;

    Sinon as tu déclarer ta méthode avant de l'appeler dans ton code? Pour tester, déplace ta procédure en tout premier dans ton code (avant toutes les autres). Si ça marche, c'est que effectivement c'était un problème de déclaration (tu ne peut pas appeler une procédure si tu ne l'a pas déclarée avant dans ton code!)

    _

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut
    Je suis vraiment bête...
    C'était un oublie de TForm1...
    J'ai de la purée dans les yeux...
    Et dire que j'ai vérifié pendant 30 min...
    Je vais me pendre...


    Merci pour vos réponses.

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut;

    Tout à fait exact si tu n'as ni erreur de compilation ni erreur d'exécution alors faut voir ça de plus près en utilisant le pas à pas ou l'ancienne méthode celle qui consiste à mettre des ShowMessage là où tu as des doutes.


    Bonne chance.

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Re;

    c'est quoi l'erreur?
    donne le message stp.

    les procédures sont-elles déclarées à l'intérieur de cette unité ou dans une autre.

    si possible bascule le code déclaration des procédures et l'appel à ces procédures.

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

Discussions similaires

  1. appel procedure stockees de MySQL dans du java
    Par sfdiaw dans le forum JDBC
    Réponses: 5
    Dernier message: 16/06/2008, 18h14
  2. fonction if/then/else dans une requete Access
    Par steve38 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/12/2006, 17h09
  3. Appel de procedure dans une boucle
    Par fusion_sadam dans le forum Access
    Réponses: 8
    Dernier message: 11/07/2006, 12h14
  4. appel de procedure dans un trigger
    Par madimane dans le forum Oracle
    Réponses: 3
    Dernier message: 14/03/2006, 06h59
  5. [PL/SQL] appel d'une procedure dans une procedure
    Par Ilhan_ dans le forum Oracle
    Réponses: 9
    Dernier message: 28/01/2005, 10h30

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