AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Konsolenanwendung - crt.pas - Console Library
Thema durchsuchen
Ansicht
Themen-Optionen

Konsolenanwendung - crt.pas - Console Library

Ein Thema von arcticwolf · begonnen am 26. Jun 2023 · letzter Beitrag vom 27. Jul 2023
Antwort Antwort
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
722 Beiträge
 
Delphi XE5 Professional
 
#1

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 27. Jun 2023, 09:26
Hallo Wolfgang,
zunächst vielen Dank für Deine Mühe & die Console Library!
Bei mir beschwert sich allerdings mein etwas betagter XE5-Compiler:
Zeile 254:
class operator Equal(Lhs, Rhs: TCoord) : Boolean;
[dcc32 Fehler] Ply.Types.pas(254): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet

Ab welcher Delphi-Version ist die Console Library verwendbar?
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 27. Jun 2023, 10:12
"class operator" eigentich schon seit D2006.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von arcticwolf
arcticwolf

Registriert seit: 3. Aug 2021
Ort: Erfurt
41 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 27. Jun 2023, 13:20
Hallo Wolfgang,
zunächst vielen Dank für Deine Mühe & die Console Library!
Bei mir beschwert sich allerdings mein etwas betagter XE5-Compiler:
Zeile 254:
class operator Equal(Lhs, Rhs: TCoord) : Boolean;
[dcc32 Fehler] Ply.Types.pas(254): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet

Ab welcher Delphi-Version ist die Console Library verwendbar?
Kann ich Dir leider nicht sagen / habe ich noch nicht getestet.
Mit der aktuellen Delphi 11 CE sollte es auf jeden Fall funktionieren.

Könnte das vielleicht daran liegen, dass es ein "Helper record" ist? Ich bin mir nicht sicher ob es "Helper Records" in XE5 schon gab oder wenn ja ob es bei XE5 dann in Verbindung mit Klassenoperatoren zu dieser Fehlermeldung kommt?

Du kannst mal versuchen, die beiden "class operator" auszukommentieren, die werden in der Library selbst gar nicht verwendet. Ich habe die nur drinnen, weil ich sie dann im ERP-System genutzt habe. Allerdings wird der Compiler dann sofort bei Zeile 287 wieder meckern. Wenn Du diese beiden auch noch auskommentierst, dann kommt eine Fehlermeldung in Zeile 3286 der Ply.Console.pas. Die Zeile kannst Du (zum testen) auch einfach auskommentieren, da wird zwar dann unnötiger Code ausgeführt, sollte aber nichts machen. Wenn sich der Code dann kompilieren lässt, liegt es an den Helper Record in Verbindung mit class operator. -> Ich könnte dann {$ifdef} einbauen und den Code mit XE5 kompatibel machen.
Wolfgang
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
722 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 27. Jun 2023, 14:28
XE5 kennt leider noch keinen RecordHelper.
Habe versucht Deinen Hinweis umzusetzen, aber das Auskommentieren verursachte weitere Compiler-Fehler in Folge. Auch ein Ersetzen von class operator durch Function führte zu keinem Erfolg, da es dann später bei TCoordHelper.notEqual(..) zu Problemen führte, noch in der ersten Datei Ply.Types.pas.

Möglicherweise habe ich mich ungeschickt angestellt..

Vielleicht wäre Dein fachkundig verwendeter {$ifdef} die bessere Lösung.
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von arcticwolf
arcticwolf

Registriert seit: 3. Aug 2021
Ort: Erfurt
41 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 27. Jun 2023, 14:38
XE5 kennt leider noch keinen RecordHelper.
...
Vielleicht wäre Dein fachkundig verwendeter {$ifdef} die bessere Lösung.
Das habe ich mir schon gedacht, dass es an dem RecordHelper liegt. Kann mir jemand sagen, ab welcher Delphi-Version diese eingeführt wurden, oder wo ich diese Information finde? Dann würde ich mal versuchen ein paar $ifdef's für ältere Delphi-Versionen einzubauen.
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von arcticwolf
arcticwolf

Registriert seit: 3. Aug 2021
Ort: Erfurt
41 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Konsolenanwendung - crt.pas - Console Library

  Alt 28. Jun 2023, 09:24
Ich habe gestern mein altes Delphi XE6 ausgegraben (installiert) und den Code überarbeitet. An den RecordHelpern liegt es bei XE6 nicht, die gab es da auch schon. Da muss es irgendeine Änderung mit den "class operator" gegeben habe. Ich habe jetzt eine Compilerweiche ($IFDEF) zwischen Delphi XE8 und Delphi 10 eingebaut, sodass der Code mit XE6 (und hoffentlich auch XE5) kompiliert werden kann. Das Update ist auf GitHub zu finden.

https://github.com/playcom-de/Console
Wolfgang
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz