Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zugriff auf property einer TeeChart-Komponente (https://www.delphipraxis.net/50692-zugriff-auf-property-einer-teechart-komponente.html)

messie 29. Jul 2005 17:28


Zugriff auf property einer TeeChart-Komponente
 
Moin,

ich benutze einen TeeChartgraphen, dessen Wertearrays zur Laufzeit erzeugt werden. Diese sind vom Typ TFastlineSeries und besitzen eine property IgnoreNulls. Die möchte ich zur Laufzeit verändern, komme aber nicht dran
Zur Entwurfszeit:
Series1.IgnoreNulls := true;
Zur Laufzeit wäre der Zugriff:
Chart1.Series[0].ignorenulls := true;
Das geht aber leider nicht. Hat jemand eine andere Idee, wie ich an so etwas drankomme, z.B. über einen Zugriff auf die Ausgangsklasse oder so? Die Quellen von teeChart habe ich leider nicht, so daß man dort keine propertys-Liste nachrüsten kann.

Grüße, Messie

marabu 29. Jul 2005 17:45

Re: Zugriff auf property einer TeeChart-Komponente
 
Hallo Messie,

TChart Version 4 wird bei D7 mitgeliefert und kennt die Eigenschaft IgnoreNulls nicht - weder im Object Inspector noch zur Laufzeit. Welche Version von TChart setzt du ein?

Grüße vom marabu

SirThornberry 29. Jul 2005 17:49

Re: Zugriff auf property einer TeeChart-Komponente
 
und was heißt "geht nicht"? kommt eine Fehlermeldung?

messie 29. Jul 2005 17:54

Re: Zugriff auf property einer TeeChart-Komponente
 
Zitat:

Zitat von marabu
Hallo Messie,

TChart Version 4 wird bei D7 mitgeliefert und kennt die Eigenschaft IgnoreNulls nicht - weder im Object Inspector noch zur Laufzeit. Welche Version von TChart setzt du ein?

Grüße vom marabu

TeeChart 7 Pro - die Version 4 kenne ich nicht, hatte vorher noch 3.51 wg. D6
Konnte man übrigens ganz billig bekommen - eine zeitlang hat Steema versehentlich vollwertige Seriennummern zur Evaluation-Version mitgeliefert.

@Sir Thornberry
Chart1.Series[0].ignorenulls := true; wir vom Compiler nicht akzeptiert. Die property ist nicht für alle Series-Typen vorhanden und wird deshalb wohl auch nicht veröffentlich. Daher auch die Frage nach Tricks, wie man an nicht veröffentlichte propertys drankommt.

Grüße, Messie

marabu 29. Jul 2005 17:59

Re: Zugriff auf property einer TeeChart-Komponente
 
An die private properties kommst du über den klassischen class hack:

Delphi-Quellcode:
type
  THackedFastlineSeries = class(TFastlineSeries)
  public
    IgnoreNulls: boolean;
  end;

begin
  ...
  THackedFastlineSeries(Chart1.Series[0]).IgnoreNulls := true;
  ...
end;
marabu

Wahrscheinlich ist es eine property - dann eher "property IgnoreNulls;"

messie 29. Jul 2005 18:28

Re: Zugriff auf property einer TeeChart-Komponente
 
genau so etwas suchte ich...

Hat aber leider nicht funktioniert, das kann aber am Chart liegen. Ich füttere den Chart erstmal einzeln, ist nur langsamer...

Grüße, Messie

messie 29. Jul 2005 18:59

Re: Zugriff auf property einer TeeChart-Komponente
 
Habe gerade noch eine andere Möglichkeit herausgefunden, wie mein Problem zu lösen wäre: ich füttere erst ein array und übergebe die Daten dann als Block. Denn weil ich sie sortieren muß, wird der Sortiervorgang mit jeder Übergabe ausgelöst - kostet bei ein paar Millionen Datenpunkten schon mal ein wenig Zeit.

Gibt es gängige Sortierroutinen für real-arrays, die auch ein wenig zeitoptimiert arbeiten?

Grüße, Messie

marabu 29. Jul 2005 19:07

Re: Zugriff auf property einer TeeChart-Komponente
 
Ist das Erstellen eines arrays nicht der klassische Anwendungsfall für einen insertion sort? Bei Millionen von Punkten evtl in Kombination mit einem merge sort...

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 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