Warnung bei LoadChartFromFile



  • Hallo,
    ich nutze seit einiger Zeit die TeeChart komponenten. Bin soweit sehr zufrieden damit 🙂

    Um nun auch gespeicherte Diagramme zu öffnen brauche ich die Methode LoadChartFromFile

    In der hilfe dazu steht folgendes:

    procedure LoadChartFromFile(Var AChart: TCustomChart; Const AFileName: String);
    
    Unit
    TeeStore
    
    Description
    This method will import the TeeChart 'tee' template Chart from the specified File Name, applying all properties of the template to the Chart. 
    
    Tee templates are an efficient way to save and load runtime Chart appearance and may be saved at runtime using the TChart.SaveChartToFile.
    
    Optionally, Tee templates can contain Series data values.
    
    The usage of this procedure obligues to cast the Chart parameter, to return the correct new pointer address:
    
    Uses TeeStore;
    LoadChartFromFile( TCustomChart( Chart1 ), 'mychart.tee' );
    

    Leider sind die meisten Beispiele nur in Delphi...
    Ich habe obiges wie folgt umgesetzt:

    TChart *tmpchart;
    
      tmpchart  =  new TChart(this);
      tmpchart->Parent = this;
    
      LoadChartFromFile( tmpchart, filename );
    
      Chart1->Visible = false;
      Chart1->Enabled = false;
    
      tmpchart->Show();
    

    Das Funktioniert mittlerweile auch wunderbar, trotzdem bekomme ich beim kompilieren folgende Warnung:

    [C++ Warnung] Main.cpp(153): W8030 Temporäre Größe für Parameter 'AChart' in Aufruf von '_fastcall LoadChartFromFile(TCustomChart * &,const AnsiString)' verwendet

    Ich habe wirklich schon vieles ausprobiert, jedoch bekomme ich die Warnung nicht weg 😕 Normalerweise würde man ja denken ich müsste mit
    TCustomChart *tmpchart; das Objekt definieren, jedoch klappt dann der Ladevorgang gar nicht mehr.

    Ich hoffe mir kann eventuell jemand bei diesem Problem helfen 👍

    Gruß Christian



  • Hallo,

    Mach mal das hier

    TChart *tmpchart;
    
    tmpchart  =  new TChart(this);
    tmpchart->Parent = this;
    
    LoadChartFromFile( dynamic_cast<TCustomChart*>(tmpchart), filename );
    

Anmelden zum Antworten