Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fehler beim Kompilieren bei Klassendeklaration
daywalker0086 - Di 15.07.14 09:55
Titel: Fehler beim Kompilieren bei Klassendeklaration
Hallo Leute,
mal ieder ein Problem das ich selbst nicht lösen kann.
ICh möchte eine Unit für die Kommunikation mit einem CAN Bus einbinden.
Prinzipiell kein Problem da die Entwickler der Hardware auch an die Delphinutzer gedacht haben und eine Unit und ein Beispielprogramm mitgeliefert haben, im Anhang zu finden ( kann man sich kostenlos herunter laden).
Dort ist auch eine ausführbare EXE, welche auch so funktioniert.
Wenn ich jetzt aber die Unit PCANBasic, welche die Funktionen und Defines enthällt, einbinde bekomm ich einen Fehler in Zeile 439
[Fehler] PCANBasic.pas(439): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| TPCANBasic = class public class var <-- in dieser Zeile soll der Fehler stecken
const PCAN_NONEBUS: TPCANHandle = $00;
. . . |
Wenn ich class und var lösche verscwindet zwar der Fehler aber in der Unit1 vom Beispielprogramm fehlen dann auch die Konstanten.
Ist dieser Fehler irgendwie zu beheben?
Irgendwie müssen die ja das Beispielprogramm kompiliert bekommen haben
Grüße Christian
jaenicke - Di 15.07.14 10:50
Mit einer aktuellen Delphiversion kompiliert das Beispiel auch. ;-)
Da wirst du etwas ändern müssen, damit es bei dir in der alten Version noch läuft. Auf den ersten Blick würde ich sagen, dass das ab Delphi 2006 funktionieren könnte.
Ich kann es mir frühestens heute Abend anschauen, hier habe ich weder eine alte Delphiversion noch Zeit...
daywalker0086 - Di 15.07.14 14:51
Hallo Sebastian,
es wäre super wenn du mal schauen könntest, ich hab leider nur die 2005 zur Verfügung, vielleicht fällt dir ja was ein mit dem man es mit wenig Aufwand zum laufen bringen kann.
So ein Mist dass das an der Version scheitert.
jaenicke - Di 15.07.14 22:02
Du musst nur das class var entfernen (das ohnehin keinen Sinn macht), die Konstanten darunter alle nach oberhalb der Klasse schieben (direkt drüber und dann ein type vor der Klasse ergänzen) und dann überall bei den Konstanten TPCANBasic.PCAN* das TPCANBasic. entfernen (sagt dir der Compiler schon wo). Dann funktioniert das sogar noch bei Delphi 7.
daywalker0086 - Di 15.07.14 23:50
Hallo Sebastian,
Danke für die investierte Zeit ich probier's gleich morgen früh aus.
daywalker0086 - Mi 18.09.19 16:19
Hallo nochmal,
ich habe nochmal eine Datei die nicht kompiliert da Delphi wieder zu alt ist.
Wie muss die jetzt nochmal umbearbeitet werden?
Sinspin - Do 19.09.19 17:57
Hallo, wenn Du noch sagst was für eine Fehlermeldung, und wo, kommt schau ich mal rein.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!