Salut � tous !

Voila j'ai un projet C++ Builder 6 dans lequel j'utilise une liste chain�e qui cr�e des Label. Lorsque je d�clare ma classe et l'impl�ment dans un unit� et que j'utilise ma classe dans la Form correspondant � cette unit� tout fonctionne, mais lorsque je d�clare le header de cette unit� dans une autre unit� afin d'utiliser cette classe lors que je veus l'uitiliser, mes Label ne s'affiche plus.

Je vais mettre mon code pour illustrer les choses :

Ceci est le code dans lequel mes Label devrait s'afficher : Display_page.cpp

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
 
//---------------------------------------------------------------------------
#include <vcl.h>
#include <string>
#pragma hdrstop
#include "Display_page.h"
#include "Label_list.h"
#include "Main_page.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tdisplay *display;
//---------------------------------------------------------------------------
__fastcall Tdisplay::Tdisplay(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tdisplay::FormShow(TObject *Sender)
{
//Cette partie devrati afficher le Label
label test(-2147483621,"tutu",120,120); 
}
//---------------------------------------------------------------------------
Ceci est la d�claration de ma classe : Label_list.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
25
26
27
28
29
//---------------------------------------------------------------------------
 
#ifndef Label_listH
#define Label_listH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//--------------------------------------------------------------------------
class label
{
private :
        TLabel * MyLabel;
        long int color;
        char * text;
 
        int MyTop;
        int MyLeft;
 
        label * nextlabel;
 
public :
 
        label(long int this_color, char * this_text, int My_Top, int My_Left);
};
//---------------------------------------------------------------------------
#endif
Cette partie contient l'impl�mentation de ma classe Label : Label_list.cpp

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
 
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#include "Label_list.h"
#include "Main_page.h"
#include "Display_page.h"
 
label::label(long int this_color, char * this_text, int My_Top, int My_Left):
color(this_color), text(this_text), MyTop(My_Top), MyLeft(My_Left)
{
        nextlabel = 0;
        MyLabel = new TLabel(Application);
        MyLabel->Parent = display;
        MyLabel->Caption = text;
        MyLabel->Left = MyTop;
        MyLabel->Top = MyLeft;
        MyLabel->Show();
}
 
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
Pour une question de l'isibilit� je n'ai pas mit tout le code, mais seulement celui qui pose probl�me.

Je tien juste pr�ciser que le nom de la Form qui contiendra mon Label s'appelle display

Merci � ceux qui liront ce post et qui m'apporteront leur aide