Création d'une instance de fiche VCL en utilisant une variable locale

De RAD Studio
Aller à : navigation, rechercher

Remonter à Comment construire des applications Fiches VCL


Un moyen fiable de créer une instance unique d'une fiche VCL modale consiste à utiliser une variable locale d'un gestionnaire d'événement comme référence à une nouvelle instance. Si vous utilisez une variable locale, peu importe que la fiche soit créée automatiquement ou non. Le code du gestionnaire d'événement ne fait pas référence à la variable fiche globale. En utilisant RAD Studio, la procédure suivante crée une instance de fiche modale dynamiquement. Elle retire (facultativement) l'appel de la deuxième fiche au démarrage.

La construction de cette application VCL comprend les étapes suivantes :

  1. Créer le répertoire projet.
  2. Créer deux fiches pour le projet.
  3. Retirer l'appel de la deuxième fiche au démarrage (facultatif).
  4. Lier les fiches.
  5. Créer un contrôle sur la fiche principale pour créer et afficher la fiche modale, puis écrire le gestionnaire d'événement.
  6. Construire et exécuter l'application.

Pour créer les deux fiches

  1. Choisissez Fichier > Nouveau > Autre > Projets Delphi ou Projets C++Builder et double-cliquez sur l'icône Application Fiches VCL. Le Concepteur de fiches VCL affiche Form1.
  2. Choisissez Fichier > Nouveau > Autre > Projets Delphi > Fichiers Delphi ou Projets C++Builder, puis double-cliquez sur l'icône Fiches. Le Concepteur de fiches VCL affiche Form2.

Pour retirer facultativement l'appel de Form2 au démarrage

  1. Choisissez Projet > Options > Fiches. La boîte de dialogue Options du projet s'affiche.
  2. Sélectionnez Form2 dans la liste Fiches créées automatiquement et cliquez sur [>]. Form2 est déplacée dans la liste Fiches disponibles.
  3. Cliquez sur OK pour fermer la boîte de dialogue.

Pour lier Form1 à Form2

  1. Sélectionnez Form1 et choisissez Fichier > Utiliser l'unité. La boîte de dialogue Utiliser l'unité s'affiche.
  2. Sélectionnez Form2 (la fiche nécessaire à Form1 comme référence) dans la boîte de dialogue.
  3. Cliquez sur OK.

Pour Delphi, une clause uses contenant le nom de l'unité Unit2 est placée dans la section implementation de Unit1.

Pour C++, la directive #include "Unit2.h" est ajoutée à Unit1.h.

Pour afficher Form2 à partir de Form1

  1. Sélectionnez Form1, si nécessaire, puis, dans la page Standard de la palette d'outils, placez un TButton sur la fiche.
  2. Dans l'inspecteur d'objets avec Button1 sélectionné, double-cliquez sur l'événement OnClick de l'onglet Evénements.L'éditeur de code s'affiche, le curseur placé dans le bloc du gestionnaire de l'événement TForm1.Button1Click (Delphi) ou TForm1::Button1Click (C++).
  3. Pour Delphi, placez le curseur juste au-dessus du bloc gestionnaire d'événement et entrez l'instruction suivante définissant une variable locale :
var FM: TForm2;
Pour C++, entrez la déclaration de variable suivante :
TForm2 *FM;
  1. Insérez le curseur dans le bloc du gestionnaire d'événement et entrez le code suivant :
FM := TForm2.Create(self);
FM.ShowModal;
FM.Free;
FM = new TForm2( this );
FM->ShowModal();
FM->Free();


Pour construire et exécuter l'application

  1. Enregistrez tous les fichiers du projet, puis choisissez Exécuter > Exécuter. L'application s'exécute, en affichant Form1.
  2. Cliquez sur le bouton.Form2 s'affiche.
  3. Avec Form2 affichée, essayez de cliquer sur Form1 pour l'activer.Rien ne se passe.
Cliquez sur le X dans le coin supérieur droit de Form2.Form2 se ferme et Form1 devient la fiche active.

Voir aussi