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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons;
 
type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
  procedure Explosion1;
    procedure SpeedButton1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end  ;
  Treg = class
  procedure Explosion1;  overload;
  procedure Explosion1 (Force: Integer); overload;
  procedure Explosion3 (Force, Vitesse: Integer);
  procedure Explosion4 (Force, Vitesse: Integer; Son: Boolean);
 
  private
  public
  protected
  id : integer ;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 
procedure Treg.Explosion1();
begin
 
end;
 
procedure Treg.Explosion1(Force: Integer);
begin
 
end;
 
procedure Treg.Explosion3(Force, Vitesse: Integer);
begin
 
end;
 
procedure Treg.Explosion4(Force, Vitesse: Integer; Son: Boolean);
begin
 
end;
 
 
procedure TForm1.Explosion1();
begin
ShowMessage('helmi');
end;
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
reg : Treg;
begin
reg := Treg.Create();
reg.id := 555;
ShowMessage(IntToStr(reg.id));
reg.Free;
end;
 
end.
je peux accéder et modifier la variable id depuis une autre classe alors qu'elle est déclaré protected dans la classe Treg.
même chose si on met dans private

est ce normale? je ne comprend pas.