Recent

Author Topic: TAChart installation  (Read 600 times)

BLL

  • Sr. Member
  • ****
  • Posts: 265
TAChart installation
« on: March 14, 2019, 09:31:39 pm »
Hi, I am trying to setup a new SD card for my RasPi3 with fpc/lazarus. I need to install TAChart, but I keep getting the message that spe checksum has changed and cannot find spe used by TAMath. I don't understand what it is telling me to do and am completely stuck!

Can anyone give me simple instructions on how to proceed please?

RasPi3 Stretch, fpc 3.3.1, lazarus 2.0.0

Thanks

Brian

wp

  • Hero Member
  • *****
  • Posts: 6337
Re: TAChart installation
« Reply #1 on: March 15, 2019, 11:25:58 am »
First of all: The next time when you ask questions about TAChart post them in the appropriate sub-board; otherwise your post is easily overlooked in the highly frequented LCL board.

As for your question: You have a strange combination of fpc and Lazarus versions: unstable fpc and stable Lazarus. I would place more focus on a stable fpc and use fpc stable (currently 3.0.4) or fpc fixes (3.2).

Anyway, is your Lazarus installation a mix of the current 2.0 version with an older version, probably 1.6.4 or older? I am asking because the unit spe has been available as a modified file within the TAChart folders; but later this has become obsolete, and the unit was removed, I think in v1.8.x. In version 2.0, spe is definitely no longer part of the TAChart installation, and Lazarus should compile without the error that you report. Look at the folder components/tachart/numlib_fix and check whether a unit spe is there - if it is remove it and try again. But since there is a high chance that you mixed up versions I'd recommend to delete all of Lazarus and install it again.

There is one issue, though, for your combination of fpc-trunk with Laz 2.0: Compilation will abort in unit TADiagram with the error "tadiagram.pas(347,38) Error: Only static methods and static variables can be referenced through an object type" - to resolve this add the directive "static" to the declaration of TDiaPosition.Equals:

Code: Pascal  [Select]
  1. type
  2.   TDiaPosition = object    
  3.     class function Equals(const A, B: TDiaPosition): Boolean; static;   // <--- Add "static"


Lazarus trunk / fpc 3.0.4 / all 32-bit on Win-10