Tchart Legende aktualisieren
spacer
Autor Nachricht
bensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 11.12.06 01:01 
hi

ich hab ein problem mit der legende eines charts...


ich hab in meinem programm auf einem formular einen stringgrid mit weten, und ein formular mit einem chart, dass aus den werten des stringgrids ein liniendiagramm erstellt.

auf dem formular mit dem stringgrid hab ich nen button, der beim onclick das formular mit dem chart öffnet.

eigentlich funktioniert da alles, bis auf folgendes: wenn ich auf den button klicke, öffnet sich das diagramm-formular und zeigt die werte der verschiedenen series an (die series werden zur laufzeit erzeugt). wenn ich nun das diagramm-formular schliese, und wieder öffne, stehen auf einmal in der legende alle series doppelt drinn. wenn ich nun das formular wieder schliese und öffne, stehen die series 3fach drinn...


nun hab ich schon wie ein verrückter gesucht, hab aber nichts zum thema legende aktualisieren gefunden...


noch n bisschen quelltext zu meinem programm:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
var datenreihe:array of TlineSeries;
    

procedure TForm9.FormActivate(Sender: TObject);
begin
  setlength(datenreihe,0);
....
  for i:=form1.sgdaten.rowcount-2 downto 1 do
  begin
    setlength(datenreihe,length(datenreihe)+1);
    Datenreihe[high(datenreihe)] := TLineSeries.Create(nil);
    Datenreihe[high(datenreihe)].ParentChart := diagramm;
    for j:=anfang downto ende do
      datenreihe[high(datenreihe)].add(form1.sgdaten.Cells[4,j],form1.sgdaten.Cells[3,j]');
  end;
end;



das diagramm wird also beim activate-ereigniss bestückt...
hat einer von euch ne ahnung, wie ich nun die legende refreshe?

ich hab schon vieles versucht, unter anderem mit diagramm.legend.repaint, das hat aber auch nix gebracht...


schonmal danke im vorraus ;)

Moderiert von raziel: Code- durch Delphi-Tags ersetzt
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
bensch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: Mo 11.12.06 01:10 
oh man, ich bin auch ein trottel!

ich hab vergessen, die erzeugten series (datenreihe) beim schließen zu destroyen...

also bei onclose:

ausblenden Delphi-Quelltext markieren
1:
2:
for i:=0 to high(datenreihe) do
  datenreihe[i].destroy;



die antwort kam mir gerade beim schreiben der frage ^^

Moderiert von raziel: Code- durch Delphi-Tags ersetzt
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home