Compiler Fehlermeldung

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
RSO
Beiträge: 15
Registriert: Mi 9. Feb 2022, 22:43

Compiler Fehlermeldung

Beitrag von RSO »

Hallo,

nachdem ich sehr viele Fehlermeldungen beseitigt habe, Komponenten
in Formularen gelöscht, nicht kompatiblen Code auskommentiert
und mich wieder etwas in die Pascalprogrammierung eingearbeitet habe,
stecke ich jetzt bei dieser Fehlermeldung fest. Ich komme nicht weiter.
Ich hoffe Ihr könnt mir einen Tip geben, wo sich der Fehler versteckt. :evil:

Vielen Dank im Voraus.

Raimund
compilerfehler60.jpg
compilerfehler60.jpg (126.05 KiB) 944 mal betrachtet

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

Re: Compiler Fehlermeldung

Beitrag von wp_xyz »

Nachdem das eine Delphi Formular-Datei ist, könnte diese im alten Binärformat vorliegen. Gehe zu "Werkzeuge" > "Delphi-Umwandlung" > "DFM in LFM-Datei umwandeln" und wähle die .dfm-Datei aus. Damit wird eine mit Lazarus kompatible .lfm-Text-Datei geschrieben. Dann solltest du noch darauf achten, ob in der zugehörigen pas-Datei das bei Delphi übliche {$R *.dfm} zu {$R *.lfm} geändert ist.

Falls noch weitere .dfm-Dateien vorhanden sind und nicht gelesen werden können, musst du das Verfahren bei ihnen wiederholen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5186
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Compiler Fehlermeldung

Beitrag von af0815 »

nachdem das im lib Ordner liegt, ist ein clean compile angesagt. Nicht das das nur eine Leiche ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

RSO
Beiträge: 15
Registriert: Mi 9. Feb 2022, 22:43

Re: Compiler Fehlermeldung

Beitrag von RSO »

Hi,

vielen Dank, es geht weiter. Die Hinweise waren hilfreich.

Der Compiler läuft schon fast komplett durch, hängt noch an verschiedenen Stellen,
aber ich bin zuversichtlich diese Fehler auch noch zu zu beseitigen.

Für eine Splineinterpolation werden in der unit diese Compilerdirektiven gesetzt.
Ist das ok für Lazarus?

{$R-} {Range checking off}
{$B-} {Boolean short circuiting off}
{$N+,E+} {Numeric coprocessor enable, Emulation enable}

Vielen Dank für Eure Hilfe

Raimund

Benutzeravatar
theo
Beiträge: 9172
Registriert: Mo 11. Sep 2006, 19:01

Re: Compiler Fehlermeldung

Beitrag von theo »

RSO hat geschrieben:
Sa 26. Feb 2022, 11:06
Für eine Splineinterpolation werden in der unit diese Compilerdirektiven gesetzt.
Ist das ok für Lazarus?

{$R-} {Range checking off}
{$B-} {Boolean short circuiting off}
{$N+,E+} {Numeric coprocessor enable, Emulation enable}
Müsste schon.
https://wiki.freepascal.org/local_compiler_directives
https://wiki.freepascal.org/global_compiler_directives

Benutzeravatar
Winni
Beiträge: 1319
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Compiler Fehlermeldung

Beitrag von Winni »

Hi!

Range checking sollte während der Entwicklung eingeschaltet sein, im Endprodukt aus.

Boolean short cut kann getrost eingeschaltet sein, es sei denn man schreibt boolsche Funktionen mit bösen Seiteneffekten

Numeric Coprocessor wird ignoriert, weil alle Maschinen einen besitzen.

Emulation enable benötigt man nur, wenn man noch einen Intel 386er betreibt. Das bezieht sich nur auf richtige Rechner. Von Spielkram habe ich keine Ahnung.

Winni

RSO
Beiträge: 15
Registriert: Mi 9. Feb 2022, 22:43

Re: Compiler Fehlermeldung

Beitrag von RSO »

Hi,

Erfolgsmeldung!!! Der Compiler hat mit einigen bösen Fehlermeldungen
zum ersten Mal alles komplett compiliert.

Darauf kann ich jetzt erstmal aufbauen. Den Rest bekommen wir auch noch hin :wink:

Raimund

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1094
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.11 FPC 3.2)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Compiler Fehlermeldung

Beitrag von fliegermichl »

Winni hat geschrieben:
Sa 26. Feb 2022, 12:53
Hi!

Range checking sollte während der Entwicklung eingeschaltet sein, im Endprodukt aus.

Boolean short cut kann getrost eingeschaltet sein, es sei denn man schreibt boolsche Funktionen mit bösen Seiteneffekten

Numeric Coprocessor wird ignoriert, weil alle Maschinen einen besitzen.

Emulation enable benötigt man nur, wenn man noch einen Intel 386er betreibt. Das bezieht sich nur auf richtige Rechner. Von Spielkram habe ich keine Ahnung.

Winni
Boolean short cut ausschalten mache ich nie, weil

Code: Alles auswählen

if (Assigned(p)) and (p.SomeProperty) then ...

Benutzeravatar
Winni
Beiträge: 1319
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Compiler Fehlermeldung

Beitrag von Winni »

Hi!

Ja es gibt viele Beispiele, die durch boolean shortcut den code deutlich reduzieren.
Z.B. führende Leerzeichen entfernen:

Code: Alles auswählen

while (length(s) > 0) and (s[1]=#32) do delete (s,1,1);
Das hab ich unter UCSD Pascal schmerzlich vermisst - das gab's damals noch nicht.

Da war z.B. bei obigem Beispiel immer ein zweites if notwendig.

Winni

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

Re: Compiler Fehlermeldung

Beitrag von wp_xyz »

RSO hat geschrieben:
Sa 26. Feb 2022, 11:06
{$R-} {Range checking off}
Ich würde auch Range-checking nicht in die Datei schreiben, sondern die projekt-weite Einstellung in den Projekt-Optionen verwenden; somit kann man auch mit Build-Modes arbeiten, und das Umstellen zwischen Entwicklungs- und Release-Version ist nur ein Mausklick.

Antworten