Ich rufe diese Funktion 2 mal auf.
Beim 2ten mal: Ich komme in Series.Free rein bekomme, Series wird auch nil aber danach beim Namen zuweisen bekomme ich die Fehlermeldung "Die Komponente mit der Bezeichnung 'S1' existiert bereits" FindSeries funktioniert auch richtig.
Code:
procedure TfrmTestProperties.cbGroupChange(Sender: TObject);
var Series : TLineSeries; idx : Integer;
begin
Series := FindSeries('S1', idx);
if Series <> nil then
begin
// Chart.SeriesList.Delete(idx); auch diese zeile bringt nix
Series.Free;
end;
Series := TLineSeries.Create(Chart);
Series.Name := 'S1';
Chart.AddSeries(Series);
end;
function TfrmTestProperties.FindSeries(Name: string; var idx: Integer) : TLineSeries;
var i: Integer;
begin
result := nil;
idx := -1;
for i := 0 to Chart.SeriesCount - 1 do
if Chart.Series[i].Name = Name then
begin
result := TLineSeries(Chart.Series[i]);
idx := i;
break;
end;
end;