TAChart build - Error: illegal unit name - TASeries

Rund um die LCL und andere Komponenten
Antworten
niotronic
Beiträge: 6
Registriert: Do 8. Dez 2016, 11:10
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Larnaka, Zypern
Kontaktdaten:

TAChart build - Error: illegal unit name - TASeries

Beitrag von niotronic »

Hallo,
ich versuche gerade eine bestehende Applikation, welche TAChart nutzt auf einem Odroid C2 mit Lazarus 1.9.0 und FPC 3.1.1 zu compilieren. Leider bricht der Compiler mit TASeriesEditor.pas (19,14) illegal unit name: TASeries ab.
Meine Recherche führte mich auf den Bug: https://bugs.freepascal.org/view.php?id=5942 welcher hier anscheinend das Problem verursacht, da die ersten 8 Zeichen des Dateinamens von TASeriesEditor.pas identisch mit TASeries.pas sind.
Mir ist allerdings nicht klar, warum dies bisher mit dem FPC 3.0.0 problemlos compiliert werden konnte, und nach Upgrade auf FPC 3.1.1 bzw. Lazarus 1.9 nicht mehr funktioniert ? - Ist die einzige Lösung die entsprechende Änderung des Unit- und Dateinamens von TASeriesEditor.pas, oder gibt es hierfür andere Lösungen ?

Ich bedanke mich schon mal im Voraus für eure Kommentare bzw. Hilfe...

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TAChart build - Error: illegal unit name - TASeries

Beitrag von wp_xyz »

Also wegen eines über 10 Jahre alten Bugs, der zudem "closed" ist, würde ich mir keine Gedanken machen. Auf keinen Fall fange an, irgendwelche Dateien umzubenennen, gerade die großen Packages sind sehr unübersichtlich.

Kriegt du auf dem Odroid C2 Laz 1.9 / FPC 3.1.1 zum laufen? Wenn nein, weiß ich nicht weiter. Wenn ja, öffne "Package" / "Install/unstall Packages" und schaue in der linken Liste nach: eigentlich müsste TAChartLazarusPkg installiert sein. Wenn nicht, in der rechten Liste anklicken, "Install selection" und dann "Save and rebuild IDE". Damit wird die IDE mit TAChart neu gebaut. Eigentlich müsste das funktionieren, und damit wäre die Theorie mit dem Unitnamens-Konflikt schon wiederlegt, weil hier gerade alles von TAChart neu kompiliert wird.

Wenn du bis hierher gelangt bist, sieht's gut aus, denn dann kann es nur noch an deinem Programm liegen.

Mögliche Fehler:
(1) Hast du etwa den Pfad zu den TAChart-Units im Projekt angegeben (Other unit files)? Das macht man bei Delphi zwar so, ist aber bei Lazarus eine Garantie für Probleme. Nimm stattdessen das Package TAChartLazarusPkg mit ins Projekt auf: Im Projekt-Inspektor Rechtsklick auf "Required Packages" > "Add" und in dem Dialog "New Requirements" TAChartLazarusPkg suchen, OK. TAChartLazarusPkg muss nun unter "Required Packages" auftauchen.

(2) Räume den Ordner auf, in dem die kompilierten Units deines Projekts (.ppu, .o, .compiled) landen. Alles löschen. Oder unter "Run" den Befehl "Clean up and build" aufrufen.

Antworten