Bonjour à tous,

Plantons le décor !!
Je développe actuellement une classe qui me permet de charger x séries de données dans un TChart. Chaque série est en fait un type record complexe (type de la série, couleur, caractéristiques, ...).
Les données proviennent de tableaux dynamiques que j'ai alimenté au préalable.

Présentation du problème
je souhaiterai pouvoir afficher des marques de données personnalisées, pour chaque point d'une série de données créée dynamiquement.
Ce qui semble possible dans l'aide TeeChart avec l'événement OnGetMarkTest, mais je n'arrive pas à le faire fonctionner !

Exemple de code (extrait de la procédure AddSerie, qui me permet d'ajouter une série à mon objet Chart)

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
 
procedure TMyChart.AddSerie(MySerie:TMySerie);
var
parcours_serie:integer;
Serie:TChartSeries;
begin
 
//-- {TSLine}
if MySerie.TypeSerie=TSLine then
  begin
    Serie:=TLineSeries.Create(FMyChart);
    Serie.ParentChart:=FMyChart;
    for parcours_serie:=low(MySerie.Data) to high(MySerie.Data) do
          begin
 
*CF COMMENTAIRE CI APRES
          Serie.AddXY(StrToFloat(MySerie.Data[parcours_serie,1]),StrToFloat(MySerie.Data[parcours_serie,2]),'',MySerie.Color);
          Serie.OnGetMarkText(Serie,parcours_serie,'TEST ETIQUETTE');
 
          end;
 
  end;
 
 
 
  //-- etc..
 
end;
Commentaires (cf signet dans le code ci-dessus)

1/La création de ma série de données ne pose pas de problèmes. Le code suivant fonctionne sans problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Serie.AddXY(StrToFloat(MySerie.Data[parcours_serie,1]),StrToFloat(MySerie.Data[parcours_serie,2]),'',MySerie.Color);
Les valeurs des abscisses X sont représentées par la 1ère colonne de mon tableau MySerie.Data.
Les valeurs des ordonnées Y sont représentées par la 2ème colonne de mon tableau MySerie.Data.

2/ L'affichage d'une marque personnalisée pour un point donné d'une série ne marche pas => violation d'accés

Le code suivant ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Serie.OnGetMarkText(Serie,parcours_serie,'TEST ETIQUETTE');
Ma question est assez simple : comment appeler correctement l'événement OnGetMarkText lorsque je créé mon objet série ?

je séche, merci d'avance pour votre aide !

@