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 :

Ouvrir une fiche à partir d'une autre


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2015
    Messages : 135
    Points : 64
    Points
    64
    Par défaut Ouvrir une fiche à partir d'une autre
    Bonjour,

    débutant sous Lazarus et en Delphi, je voudrais simplement ouvrir une fiche lors du clic sur un bouton de ma fiche principale.
    J'ai créé une deuxième fiche que j'ai nommée Ftest mais lorsque je fais Ftest.show le programme me retourne une erreur comme quoi il ne connait pas Ftest...
    Une idée ?

    Merci.

  2. #2
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    N'as-tu pas oublié de renseigner dans ton unité principale l'unité contenant FTest ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    implementation
     
    {$R *.lfm} 
     
    uses Unit2; // Unit2 = l'unité contenant FTest
    Cordialement
    Thierry

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2015
    Messages : 135
    Points : 64
    Points
    64
    Par défaut
    Bonjour, merci de ta réponse, en effet il me manquait cette petite partie.
    D'ailleurs j'aurais une autre petite question pour toi si tu le veux bien : si je veux, dans ma feuille 2, récuperer la valeur de variable de ma feuille 1, comment dois-je faire ?
    Merci d'avance

  4. #4
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Je suppose que quand tu parles de "feuilles", il s'agit de fiches.

    Si ta Form2 (dans p.ex. unité "unit2") doit avoir accès à une variable de Form1 (dans p.ex unité "unit1"), tu renseignes "unit1" au début de la section 'implémentation de "unit2" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    implementation
     
    {$R *.lfm} 
     
    uses Unit1;
    Tu remarqueras que c'est dans la section "implémentation" qu'il faut indiquer le uses. En effet, si tu déclares dans la section "interface" deux unités qui s'appellent l'une l'autre, tu crées ce qu'on appelle une "référence circulaire" qui peut entrainer de gros problèmes de compilation.

    Quelles sont les variables de Unit1 accessibles dans Unit2 ?
    1) les objets de Form1 : tu peux écrire écrire dans unit2 : S:= Form1.Edit1.Text
    2) les variables déclarées dans la section "public" de Form1: --> S:= Form1.Mavariable2
    3) les variables déclarées dans l'interface de Unit1 sous la clause "var" --> S:= Mavariable3

    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
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
         Edit1: TEdit; // accessible dans unit2
      private
          MaVariable1: string // PAS accessible dans unit2
      public
        { public declarations }
        MaVariable2: string; // accessible dans unit2 en indiquant Form1.MaVariable2
      end;
     
    var
      Form1: TForm1;
      MaVariable3: string; // accessible dans unit2
     
    implementation
     
    {$R *.lfm}
     
    uses unit2;
    //...
    Cordialement
    Thierry

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2015
    Messages : 135
    Points : 64
    Points
    64
    Par défaut
    Merci pour ta réponse rapide. Je vais pouvoir tester tout cela avec l'application que je développe.
    Merci encore.

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