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 uses : référence d'unité circulaire


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Points : 43
    Points
    43
    Par défaut Problème de uses : référence d'unité circulaire
    Bonjour.
    Je suis actuellement en train de developper une application sous delphi avec de l'héritage, du polymorphisme ....
    Mon problème est (à première vue) assez simple mais je galère dessus depuis une bonne partie de la nuit:
    j'ai un formulaire (nomé billeterie) et une unité (nomé Unit1).
    l'unité comporte mes classes et mes méthodes.
    dans l'une de ces dernière j'ai besoin d'acceder aux données de mon firmulaire (zone de texte) pour récupérer des données.
    Le problème et que je peut y avoir acces


    la fonction qui pose problème est cette dernière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function billet_classe2.payer ():real;
    begin
       If (not enf_chom)
       then
         result:=2;
       enfant:=strtofloat(Form1.txt_enfant.Text);
       chom:=strtofloat(Form1.txt_chom.Text);
       enf_chom:=true;
    end;
    on me retourne donc les erreures suivantes

    [Erreur] Unit1.pas(76): E2003 Identificateur non déclaré : 'strtofloat'
    [Erreur] Unit1.pas(76): E2003 Identificateur non déclaré : 'Form1'
    [Erreur] Unit1.pas(76): E2066 Opérateur ou point-virgule manquant
    [Erreur] Unit1.pas(77): E2066 Opérateur ou point-virgule manquant
    [Erreur] Unit1.pas(77): E2066 Opérateur ou point-virgule manquant
    [Erreur] Unit1.pas(77): E2029 '(' attendu(e) mais ')' trouvé(e)
    [Erreur] Unit1.pas(78): E2066 Opérateur ou point-virgule manquant
    [Erreur fatale] billeterie.pas(7): F2063 Impossible de compiler l'unité utilisée 'Unit1.pas'
    dans mon unité j'ai donc mis un Uses vers mon formulaire:
    malheureusement cela créé une erreur dans mon uses de mon formulaire qui est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,Unit1, StdCtrls, Menus;
    l'erreur est:
    [Erreur fatale] billeterie.pas(7): F2047 Référence d'unité circulaire à 'billeterie'
    si quelqu'un pourrait m'aider ça serait sympa
    merci

  2. #2
    Membre habitué Avatar de neodelphi2007
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Points : 179
    Points
    179
    Par défaut


    Il faut mettre ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    uses
     billeterie ;
    dans la partie implementation de ton unité unit1

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 745
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 745
    Points : 13 306
    Points
    13 306
    Par défaut
    Le raisonnement devrait être inverse.

    Ce ne sont pas tes classes qui récupèrent les données des formulaires, mais les formulaires qui doivent remplir les classes.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par neodelphi2007 Voir le message


    Il faut mettre ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    uses
     billeterie ;
    dans la partie implementation de ton unité unit1
    Parfait!! ça marche! merci de ton aide

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 711
    Points : 5 333
    Points
    5 333
    Par défaut
    adeltimple, ta conception de l'objet est bizarre.
    La remarque de Andnotor est tout à fait justifiée.

    En gros tu devrais avoir un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function billet_classe2.payer (REnfant, RChom : Real):real;
    begin
       If (not enf_chom)
       then
         result:=2;
       enfant:=REnfant;
       chom:=RChom;
       enf_chom:=true;
    end;
    Et l'appeler de cette façon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonBilletClasse2.Payer(StrToFloat(txt_enfant.Text),StrToFloat(txt_chom.Text));
    Et encore, il faudrait vérifier que les valeur contenus dans txt_enfant.Text et txt_chom.Text sont bien des réels.

Discussions similaires

  1. [Delphi2007] Référence d'unité circulaire
    Par mrlulu972 dans le forum Langage
    Réponses: 7
    Dernier message: 21/05/2008, 16h41
  2. [C#/.NET 2.0] Problème de namespace/référence
    Par Tetram165 dans le forum Services Web
    Réponses: 2
    Dernier message: 05/01/2007, 01h55
  3. uses dans une unité simple
    Par izguit dans le forum Delphi
    Réponses: 7
    Dernier message: 01/06/2006, 15h28
  4. Problème de référence de données circulaire
    Par Wismerhill50 dans le forum Langage
    Réponses: 3
    Dernier message: 23/10/2005, 22h38
  5. [Delphi 2005][Delphi 6] reference d'unité circulaire
    Par ludovic tambour dans le forum Langage
    Réponses: 12
    Dernier message: 11/05/2005, 17h28

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