voilà, je cherche la manière d'éviter les messages d'avertissements en faisant de l'objet...
le post un peu plus loin parle déjà de ce sujet...
Il me semblait que la méthode de tourlourou avec reintroduce était la solution ... mais elle ne marche pas !
le problème est de rajouter des paramètres au constructor create sans avoir de messages d'avertissement. j''overloade' mais je retrouve le message d'avertissement...
la méthode avec reintroduce de tourlourou serait la bonne mais je n'arrive pas à la mettre en oeuvre...
par exemple :
c'est un exemple bidon pour avoir un support mais comment rendre ça le plus propre possible.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,comctrls,extctrls; type Ttrack=class(Tpanel) public T:Ttrackbar; constructor create(aowner:Tcomponent);overload;override; constructor create(aowner:Tcomponent;w,h,l,t:integer);overload; destructor destroy; override; end; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Déclarations privées } montrack:Ttrack; public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} constructor Ttrack. create(aowner:Tcomponent); begin inherited; T:=Ttrackbar.create(self); T.Parent:=self; T.align:=alclient; T.Cursor:=crhandpoint; end; constructor Ttrack. create(aowner:Tcomponent;w,h,l,t:integer); begin create(aowner); width:=w; height:=h; left:=l; top:=t; end; destructor Ttrack.Destroy; begin t.Free; inherited; end; procedure TForm1.FormCreate(Sender: TObject); begin montrack:=Ttrack.create(self,100,30,20,20); montrack.Parent:=self; end; end.
il me semblait que surcharger le constructeur était le plus propre...
parce que sinon il suffit de faire une petite proc publique qui gère la taille et la position de mon objet ( ce que je faisais avant sans avoir à overloader-> et là, je n'ai plus d'avertissement)
les conseils et les avertissement sont les suivants :
[Conseil] Unit1.pas(12): H2365 La méthode Ttrack.create redéfinie devrait avoir le même case que l'ancêtre TCustomPanel.Create// là, j'ai pas la solution
[Avertissement] Unit1.pas(13): W1010 La méthode 'Create' cache la méthode virtuelle du type de base 'TCustomPanel'
[Conseil] Unit1.pas(14): H2365 La méthode Ttrack.destroy redéfinie devrait avoir le même case que l'ancêtre TCustomControl.Destroy
comment les éviter... et où trouver un bouquin sur de l'objet pur en delphi ?
J' avais acheté l'orienté objet aux editions Eyrolles mais on a rien en delphi
dans son contenu...(ça manque...et c'est pourtant fondamental pour ceux qui développent en delphi)
Partager