AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Chart Serie Freigeben, gibt nicht frei!
Thema durchsuchen
Ansicht
Themen-Optionen

Chart Serie Freigeben, gibt nicht frei!

Ein Thema von Koloss · begonnen am 10. Jul 2014 · letzter Beitrag vom 11. Jul 2014
Antwort Antwort
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#1

Chart Serie Freigeben, gibt nicht frei!

  Alt 10. Jul 2014, 16:38
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;

Geändert von Koloss (10. Jul 2014 um 16:51 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Chart Serie Freigeben, gibt nicht frei!

  Alt 10. Jul 2014, 16:53
Die Series ist vielleicht noch in Form1.Controls enthalten?
  Mit Zitat antworten Zitat
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#3

AW: Chart Serie Freigeben, gibt nicht frei!

  Alt 10. Jul 2014, 16:59
Mit neuen Projekt getestet.
Unter Firemonkey Desktop funktioniert es und unter Firemonkey Mobile nicht!

Geändert von Koloss (10. Jul 2014 um 17:09 Uhr)
  Mit Zitat antworten Zitat
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#4

AW: Chart Serie Freigeben, gibt nicht frei!

  Alt 11. Jul 2014, 09:58
Es wird verrückt einfaches Beispiel selbe Problem
Code:
  Button := TButton(FindComponent('Button2'));
  if Button <> nil then
    Button.Free;

  Button := TButton.Create(Self);
  Button.Parent := self;
  Button.Name := 'Button2';
Kann mir wer dieses Beispiel testen?

Geändert von Koloss (11. Jul 2014 um 10:29 Uhr)
  Mit Zitat antworten Zitat
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#5

AW: Chart Serie Freigeben, gibt nicht frei!

  Alt 11. Jul 2014, 10:57
Problem mit der Series gelöst!

Statt Series := TLineSeries.Create(Chart);
Kommt Series := TLineSeries.Create(nil);

Da finde ich die series übers Chart!

Beim Button funktioniert:
Statt Button.Free;
Kommt RemoveComponent(Button);
Wenn Button := TButton.Create(Self) ist.

Das selbe bei der Series funktionert aber nicht, nur wenn TLineSeries.Create(nil) dann funktioniert das Free.

Code:
    Series := FindSeries('S1', idx);
    if Series <> nil then
    begin
      Chart.SeriesList.Delete(idx);
      RemoveComponent(Series); //oder Series.Free;
    end;
    Series := TLineSeries.Create(nil); // funktioniert nicht TLineSeries.Create(Chart);
    Series.Name := 'S1';
    Series.XValues.DateTime := True;
    Chart.AddSeries(Series);

Geändert von Koloss (11. Jul 2014 um 11:38 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz