Salut tout le monde,
Je voudrais savoir comment on fait pour qu'un évenement qui est présent dans une classe TPersistent soit accessible depuis la classe qui l'implemente
J'ai fait ce petit bou de code mais cela ne fonctionne pas.
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 type TPlugIn=class(TPersistent) private FOnEtat: TNotifyEvent; protected procedure AssignTo(Dest: TPersistent); override; published property OnEtat:TNotifyEvent read FOnEtat write FOnEtat; end; TEssai=class(TComponent) private FPlugIn:TPlugIn; procedure SetPlugIn(const Value: TPlugIn); public Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; published property PlugIn:TPlugIn read FPlugIn write SetPlugIn; end; procedure Register; implementation procedure Register; begin RegisterComponents('HCIM', [TEssai]); end; { TEssai } constructor TEssai.Create(AOwner: TComponent); begin inherited; FPlugIn:=TPlugIn.Create; end; destructor TEssai.Destroy; begin FPlugIn.Free; inherited; end; procedure TEssai.SetPlugIn(const Value: TPlugIn); begin FPlugIn.Assign(value); end; { TPlugIn } procedure TPlugIn.AssignTo(Dest: TPersistent); begin if Dest is TPlugIn then begin TPlugIn(Dest).OnEtat:=OnEtat; end else inherited AssignTo(Dest); end; end.
Partager