Salut à tous.
Pour un test, je me suis fabriqué une petite classe avec comme property un TStrings et une fonction qui transforme une String en TStrings.
et celui de la classe
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 function StringToItems(Chaine : String): TStrings; Var Itm : TStrings; begin if Chaine <> '' then begin Itm := TStringList.Create; try While Pos(sLineBreak,Chaine) > 0 do begin Itm.Add(Copy(Chaine,1,Pos(sLineBreak,Chaine) -1)); Delete(Chaine,1,Pos(sLineBreak,Chaine) + Length(SLineBreak)); end; Itm.Add(Chaine); Result := Itm; finally Itm.Free; end; end; end;
Le code se compile très bien sous delphi. Mon problème est sur cette ligne de code :
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 TPersistAccessoire = Class(TPersistClass) private ..... FAxConso: TStrings; ..... procedure SetAxConso(const Value: TStrings); function GetAxExist: Boolean; public Property AxConso : TStrings read FAxConso write SetAxConso; Property AxExist : Boolean read GetAxExist; Constructor Create; Virtual; Destructor Destroy; Procedure Load; Virtual; ..... end; Implementation constructor TPersistAccessoire.Create; begin Inherited; FAxConso := TStringList.Create; FAxConso.Add('AUCUN'); .... end; destructor TPersistAccessoire.Destroy; begin FreeAndNil(FAxConso); .... Inherited; end; procedure TPersistAccessoire.SetAxConso(const Value: TStrings); begin FAxConso := Value; end; procedure TPersistAccessoire.Load; var lect : String; begin //lecture du fichier et affectation de AxConso. ..... FAxConso := StringToItems(Lect); ..... end;
Avec SavAccessoire de type TPersistAccessoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3SavAccessoire.Load Lb_axconso.Items := SavAccessoire.AxConso; //Ici
et la j'ai un beau message d'erreur différent à chaque fois.
Merci de votre aide
Andry
Partager