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
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 //--------------------------------------------------------------------------- #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); } //---------------------------------------------------------------------------
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
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
Pour une question de l'isibilit� je n'ai pas mit tout le code, mais seulement celui qui pose probl�me.
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)
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











R�pondre avec citation
Partager