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.
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;
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
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;
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
 
     SavAccessoire.Load
    Lb_axconso.Items     := SavAccessoire.AxConso; //Ici
Avec SavAccessoire de type TPersistAccessoire.
et la j'ai un beau message d'erreur différent à chaque fois.

Merci de votre aide

Andry