TAChart Acces Viloation

Antworten
ErnstVolker
Beiträge: 336
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

TAChart Acces Viloation

Beitrag von ErnstVolker »

Hallo zusammen,

ich verwende momentan "Lazarus-0.9.31-34510-fpc-2.5.1-20111230-win32" und wollte mich mal mit TChart auseinandersetzen.

Also Chart auf Form gezogen und erstmal im Inspektor nach den Einstellmöglichkeiten nachgesehen. Beim Ändern der Achsenbeschriftung stürzt der Salat ab. ---> Access violation.
IDE neu gestartet, eine Schaltfläche hinzugefügt und den Beispieltext aus Viki eingefügt. TTA Serie wird nicht erkannt. Identifier not found TTASerie.
Lazarusforum gesucht, gefunden: Umbau von TTASerie auf TSerie, aber nutzt nix, geht nicht, Identifier not found ...

Sofern man nur das Chart auf dem Form liegen hat funzt das compilieren das Projekt wird ordentlich gebaut. Nur zum Testen Starten muß man es aus dem Windows-Explorer, weil der Debugger sich mit Pauken und Trompeten verabschiedet, man möge auf einen Fix für diesen Bug hoffen ...

Kann mir jemand helfen?

Ich habe jetzt herausgefunden, dass der Fehler nur Auftritt, wenn man den Font-Dialog aufruft um Schriftart, Größe und Farbe zu Ändern. Wenn man im Objektinspektor über Color, size, usw. die Veränderungen vornimmt, passiert nichts.

Aber wie erfolgt der Zugriff auf TTASeries, wenn TTASerie bzw. TSerie nicht gefunden werden?

Grüße

Volker

ErnstVolker
Beiträge: 336
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: TAChart Acces Viloation

Beitrag von ErnstVolker »

Aaahh Blick in die Demos hilft.

Ich hatte bei "uses" TSeries vergessen. Dann noch bei TAChart das TA weglassen und bei Übergabe der zu zeichnenden Werte die Farbe (clBlack) weglassen und man bekommt einen Sinus.

Sofern man "clBlack" stehe lässt kommt: unit1.pas(45,44) Error: Incompatible type for arg no. 3: Got "TGraphicsColor", expected "Open Array Of Double"

Nimmt man clBlack heraus: Serie.AddXY(i/10,Sin(i/10)*10); wird ein schwarzer Sinus dargestellt.

Aber auch folgendes: Serie.AddXY(i/10,Sin(i/10)*10,[1,2,3],'fasel',clred); ändert nix. Man bekommt einen schönen schwarzen Sinus.

Hat jemand eine Idee?

Gruß

Volker

Thomas B.
Beiträge: 90
Registriert: Fr 2. Nov 2007, 13:32
OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0)
CPU-Target: 32Bit
Wohnort: Ulm

Re: TAChart Acces Viloation

Beitrag von Thomas B. »

Hast Du per Rechtsklick auf den Chart bzw. im Objektinspektor "Edit series" aufgerufen und die "Serie" erstellt?
Mit SeriesColor lässt sich dann die Farbe einstellen.

ErnstVolker
Beiträge: 336
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: TAChart Acces Viloation

Beitrag von ErnstVolker »

Vielen Dank Thomas.

Das hatte ich natürlich nicht so gemacht. Ich hatte die Zeilen aus dem Wiki kopiert um erstmal zu gucken was passiert.

Mit "Edit Serie" ist es ein Kinderspiel. Lediglich die For-Schleife bleibt über:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i:=-500 to 499 do
      Chart1LineSeries1.AddXY(i/10,Sin(i/10)*10);
end;


Danke nochmal.

Gruß

Volker

Antworten