TChart mit if und RadioButton



  • Habe ein merkwürdiges Problem und zwar möchte ich nix anderes tun, als einen Chart zu erstellen. Tue ich das testweise: Also Knopf und TChart mit dem Code:

    int G[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    TLineSeries *LineSerie = new TLineSeries(Chart1);
    LineSerie->ParentChart = Chart1;
    LineSerie->Clear();
    Chart1->Series[1]->Clear();
    for(int i=0; i<=10; i++)
    {
    Chart1->Series[1]->AddXY(i,G[i],"", clRed);
    }
    

    ...läuft natürlcih alles bestens.
    Nun verstricke ich diesen Code in dieser Folrm:

    if (xyz == 0) {
    if (RadioButton1->Checked) {
    ...und hier dann der Chart....
    }
    }
    

    Dann zeichnet er nicht, obwohl er (mit Braekpoints getestet) die Anweisung Chart1-> etc. in gewünschter Anzahl ausführt! Woran kann das liegen??



  • Kommt darauf an, wo du das aufrufst.
    Das wird aus deinen Angaben ja nicht ersichtlich.



  • Also zunächst werden einige if Anweisungen getätigt und am ende wird gefragt, ob der RadioButton1 gewählt wurde - wenn ja, soll gezeichnet werden! Was nur leider nicht geht! 😞

    hier ist der genaue Code ab dem RadioButton:

    if (ADC1RB->Checked) {
    //**** Mittelung der Messdaten
    for (int p=0; p<=721; p++) {
    if (Zaehler[p] != 0){
    ADC1Buff[p] = ADC1[p] / Zaehler[p];
    }
    else {
    ADC1Buff[p] = 0;
    }
    }
    TLineSeries *LineSerie = new TLineSeries(Chart1);
    LineSerie->ParentChart = Chart1;
    LineSerie->Clear();
    Chart1->Series[1]->Clear();  // wird erreicht aber Chart wird nicht gelöscht!
    for(int i=0; i<=720; i++)
    {
    Chart1->Series[1]->AddXY(i,ADC1Buff[i],"", clRed);  //wird durchlaufen, aber nicht gezeichnet
    }
    }
    

    Danke für Hilfe!!!!!



  • Das Problem kannst du doch ganz einfach durch debuggen in den Griff bekommen 😕 😕



  • Hallo,

    Gibt es denn Chart1->Series[1] überhaupt?


Anmelden zum Antworten