bonjour,
j'utilise le composant Tchart qui est paramétré depuis l'interface Delphi. Dans mon chart, j'ai incorporé 5 courbes (TFastSeries nommé series1 à series5)
Le principe de mon application est la suivante :
l'utilisateur sélectionne un fichier de données qui exécute un traitement mettant à jour, suite à des calculs, les différentes courbes.
Lorsque l'utilisateur sélectionne un nouveau fichier de données, je désire supprimer à l'écran les courbes de l'exécution précédente.
Je fais la fonction suivante :
procedure TPilot.ClearSeries;
begin
pilot.Series1.Clear;
pilot.Series2.Clear;
pilot.Series3.Clear;
pilot.Series4.Clear;
pilot.Series5.Clear;
end;
Cette fonction marche parfaitement sauf lorsqu'il y a eu un problème à l'exécution précédente.
Dans ce cas, j'ouvre un showMessage indiquant la nature de l'erreur. Si j'appuie sur entrée, cela marche. Si je clique sur entrée, j'ai le message suivant :
Le projet Samba.exe a déclenché la classe d'exception EListError avec le message 'Indice de liste hors limites (0)'
Dans la pile d'appels, je suis sur TList.Get + $1E et juste avant dans TCustomChart.MouseMove + $177
La même exception est déclenchée lorsque après avoir tracé mes courbes, j'ouvrir une boite de dialogue pour sélectionner un nouveau jeu de données.
Si je clique sur OK, j'appelle ClearSeries et tout marche. Si je double-clique, j'ai l'exception suivante :
Le projet Samba.exe a déclenché la classe d'exception EListError avec le message 'Indice de liste hors limites (0)'
Dans la pile d'appels, je suis sur TList.Get + $1E et juste avant dans TCustomChart.MouseMove + $177
Cordialement
emmanuel
Partager