impossible de fermer une fiche créée dynamiquement à l'aide d'un bouton
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:
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:
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