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

Lazarus Pascal Discussion :

Rendre une procédure accessible au programme utilisant l'unité [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Billets dans le blog
    1
    Par défaut Rendre une procédure accessible au programme utilisant l'unité
    Bonjour,

    J'ai deux units qui s'appellent entre elles, une dans le uses et une dans l'implémentation, le tout pour éviter de créer une référence circulaire.
    Mon problème est que j'ai crée une procédure dans la première et que je souhaite l'appeler dans la seconde et il me dit référence inconnue. Pourtant quand j'appelle des objets, ex form1.listbox depuis la unit 2, là il n'y as pas de problème.

    Voici un bout de code:

    unit demarrage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
      StdCtrls,enregistrement_entreprise;       
     
     
    ...
     
    procedure remplir_liste_societe(list:Tlistbox);
    var Donnee:string;
    begin
       blablabla
    end;
    et la unit enregistrement_entreprise:
    unit demarrage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    implementation
     uses demarrage;
     
    ...
     
    procedure Tenregistrement_entreprise_form.enregistrer_entreprise_boutonClick(Sender: TObject);
    var G:textfile;
    begin
     
     blablabla
     
      remplir_liste_societe(form1.liste_entreprise); // <- Il me dit que remplir_liste_societe est inconnu
     
    end;
    Si quelqu'un a une idée? Cela doit être tout con, mais merci de m'aiguiller...

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    'lut,

    demarrage.remplir_liste_societe(form1.liste_entreprise); peut-être...

  3. #3
    Membre éclairé
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Billets dans le blog
    1
    Par défaut
    Déjà essayé en vain, mais merci quand même

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Tiens, étudie ce lien, il parle de ça.

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    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
    unit demarrage;
     
    interface
     
    procedure remplir_liste_societe(list:Tlistbox); // section interface, donc sera connue des unités la référençant
     
     
    implementation
     
    procedure remplir_liste_societe(list:Tlistbox);
    var Donnee:string;
    begin
       blablabla
    end;
     
    end.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Par défaut
    Bonsoir à tous.

    J'ai voulu vous proposer cette méthode:


    Unit Demarrage;

    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
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
      StdCtrls;
      procedure remplir_liste_societe(list:Tlistbox);     
     ...
     ...
     
    Implementation
     
    uses enregistrement_entreprise;
     
    procedure remplir_liste_societe(list:Tlistbox);
    var Donnee:string;
    begin
       blablabla
    end;
    *******************************************************************************


    Unit enregistrement_entreprise;

    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
    interface
     
    uses
      Classes, SysUtil .... Demarrage; 
       ...
       ...
     
    implementation
     
    ...
     
    procedure Tenregistrement_entreprise_form.enregistrer_entreprise_boutonClick(Sender: TObject);
    var G:textfile;
    begin
     
      Demarrage.remplir_liste_societe(form1.liste_entreprise); 
     
    end;
    merci

  7. #7
    Membre éclairé
    Avatar de Darkyl
    Homme Profil pro
    autodidacte en recherche d'emploi
    Inscrit en
    Novembre 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : autodidacte en recherche d'emploi

    Informations forums :
    Inscription : Novembre 2004
    Messages : 440
    Billets dans le blog
    1
    Par défaut
    La solution de TOURLOUROU marche nickel, merci à tous!

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

Discussions similaires

  1. [WD17] Rendre une saisie accessible par TAB par programmation
    Par jimmypage dans le forum WinDev
    Réponses: 5
    Dernier message: 11/07/2013, 10h33
  2. Réponses: 1
    Dernier message: 14/02/2007, 20h24
  3. Executer une procédure Access sous C++Builder
    Par kmaniche dans le forum C++Builder
    Réponses: 38
    Dernier message: 19/12/2006, 14h27
  4. Executer une procédure Access sous Delphi
    Par kmaniche dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/12/2006, 20h51
  5. [D 2005]MAJ ADOStoredProc connecté à une procédure Access
    Par Argonz dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/03/2005, 18h08

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