Einzelnen Beitrag anzeigen

Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#1

TeeChart treibt mich zur Verzweflung

  Alt 31. Mai 2006, 11:05
Moin!
Ich versuche im TChart dynamisch erstellten Series, die entsprechenden dynamisch erstellten Achsen zuzuordnen. Siehe dazu Code:
Delphi-Quellcode:
PROCEDURE tform1.fillseries;
VAR
  I, J: integer;
BEGIN
  FOR j := 0 TO countcols - 1 DO BEGIN
    myfastlineseries := TFastlineSeries.Create(self);

    setlength(Myseries, length(myseries) + 1);
    myfastlineseries.ParentChart := Chart1;
    MySeries[length(MySeries) - 1] := myfastlineseries;
    myaxis := Tchartaxis.Create(Chart1);
    setlength(myaxises, length(myaxises) + 1);
    myaxises[length(myaxises) - 1] := myaxis;

  END;
  FOR j := 1 TO countcols - 1 DO BEGIN

    WITH myseries[j - 1] DO BEGIN
      FOR i := 1 TO countlines - 1 DO
        IF mystringlists[j].Strings[i] = 'THEN
          addXY(strtoint(mystringlists[0].Strings[i]),
            0, mystringlists[0].strings[i])
        ELSE BEGIN

          addXY(strtoint(mystringlists[0].Strings[i]),
            ConvertStr(mystringlists[j].strings[i]),
            mystringlists[0].strings[i]);
        END;
      WITH myaxises[j - 1] DO BEGIN

        title.Caption := mystringlists[j].strings[0];
        title.Font.style := [fsbold];
        title.angle := 90;

      END;
      CustomVertAxis := myaxises[j - 1];
      VertAxis := aCustomVertAxis;
      customvertaxis.Visible := false;

      Title := mystringlists[j].strings[0];
      active := true;
      visible := true;
      combobox1.Items.Add(mystringlists[j].strings[0]);

    END;
  END;
  currentaxes := 0;
  Chart1.LeftAxis := myseries[currentaxes].CustomVertAxis;
  combobox1.ItemIndex := currentaxes;
  Colorbox1.SelectedColor := myseries[0].Color;

END;
Der Code wiard auch so ausgeführt: Aber die zu der Series zugewiesene Achse ist die, die eigentlich zu der im Array davorliegenden Series gehört.
Soll heißen: zu myseries[1] gehört myaxes[0] und nicht wie geplant myaxes[1].

Irgendwo in meinem Code ist ein Denkfehler, aber ich finden ihn partout nicht. Wäre super, wenn ihr euch das mal anschauen könntet und einen kleinen Tipp geben könntet.

Overburn
  Mit Zitat antworten Zitat