Problème sur property Items de ListBox
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:
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:
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:
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