Bonjours à tous.
J’espère ne pas avoir fait de doublon en ouvrant cette discussion.
Je tente de programmer une application composée d'une fiche principale sur laquelle se trouve un bouton.
Quand on clique sur ce dernier le programme créé une fiche dynamique contenant elle aussi un bouton (dynamique lui aussi!).
Ce dernier bouton devrait me permettre de fermer la fiche créée dynamiquement mais j’obtiens le message d'erreur suivant :Symbole "fiche1" non défini.
Je pense que ma Form dynamique fiche1 n'est pas déclarée correctement.

Voici le contenu de mon fichier .h :
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
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // Composants gérés par l'EDI
    TButton *Button1;
    void __fastcall Button1Click(TObject *Sender);
private:    // Déclarations utilisateur
TButton *MonBouton;
void __fastcall MonBoutonClick(TObject *Sender);
 
public:        // Déclarations utilisateur
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


Ainsi que le contenu du fichier CPP (unique dans cette application) :

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
30
31
32
33
34
35
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TForm*fiche1 =new TForm(this);
 
    MonBouton = new TButton(this);
    MonBouton->Left = 40;
    MonBouton->Top = 40;
    MonBouton->Caption = "Bouton";
    MonBouton->Parent = fiche1;
 
 
    MonBouton->OnClick = MonBoutonClick;
    fiche1->ShowModal();
}
//---------------------------------------------------------------------------
 void __fastcall TForm1::MonBoutonClick(TObject *Sender)
{
    ShowMessage("Clic sur MonBouton = OK");
    //fiche1->Close(); //symbole fiche1 non défini
    delete fiche1; //symbole fiche1 non défini
}
Voila, j’espère que ma description est claire.

Merci pour votre Aide