Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Zufällige "Fatale Fehler" beim Kompilieren (https://www.delphipraxis.net/192024-zufaellige-fatale-fehler-beim-kompilieren.html)

a.def 14. Mär 2017 12:10

Zufällige "Fatale Fehler" beim Kompilieren
 
Seitdem ich XE8 habe bekomme ich beim Kompilieren immer wieder Fehler an Stellen angezeigt, wo gar keine sind.

Beispiel:
Zitat:

[dcc32 Fataler Fehler] _fu.pas(3241): F2063 Verwendete Unit '_fu.pas' kann nicht compiliert werden
Zeile 3241 ist eine Leere Zeile genau zwei Zeilen nach end. (mit PUNKT am Ende).

Was hat dieser komische, zufällige Fehler zu bedeuten?

himitsu 14. Mär 2017 12:19

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Hast mal F1 gedrückt und geschaut was die Hilfe zu diesem Fehler sagt?

Ich bekomm in XE (und auch anderswo) öfters mal "Internal Error" ... einmal Delphi neu starten und weg ist er (für 'ne Weile).

a.def 14. Mär 2017 12:23

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
http://docwiki.embarcadero.com/RADSt...werden_(Delphi)

Im Prinzip steht da sehr wenig Sinnvolles drin. Wenn mein Code einen echten Fehler haben würde, welcher das Kompilieren verhindert, dann könnte ich ja gar nicht kompilieren.
Scheint so, als ob das hier mal wieder ein False-Positiv ist... ?

Delphi-Laie 14. Mär 2017 13:35

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von a.def (Beitrag 1364151)
Was hat dieser komische, zufällige Fehler zu bedeuten?

Daß Delphi jegliche Zeichen hinter dem finalen "." nicht mag und die besser unterlassen werden.

Allerdings ist es merkwürdig, daß dieser Fehler nur gelegentlich auftritt. Bisher nahm ich den Delphi-Compiler als deterministischen Algorithmus war.

Wosi 14. Mär 2017 14:03

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
In großen Projekten bekomme ich den Fehler nahezu immer wenn ich mit F9 kompiliere. Der Compiler fügt am Ende einer von ihm selbst zufällig ausgewählten Unit mehrere Leerzeilen ein und beschwert sich anschließend darüber, dass er sie nicht mehr kompilieren kann.
Ich kann den Fehler nur zuverlässig verhindern, indem ich das Projekt neu erzeuge (Shift+F9). Das dauert dann zwar mehrere Minuten aber anders funktioniert es eben nicht.
Das Verhalten konnte ich unter XE6, XE8, 10.0 und 10.1 beobachten.

bra 14. Mär 2017 14:06

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Ist ein Bug in Delphi, der bei mir auch regelmäßig auftritt (mit neueren Delphis):

https://quality.embarcadero.com/browse/RSP-16439

Mit 2007 und XE3 trat der bei mir noch nie auf. Bei denen sperrt sich Delphi aber manchmal selbst die Dateien weg, was sich nur durch Neustart der IDE beheben lässt. Ich vermute der Bug geht in dieselbe Richtung.

Uwe Raabe 14. Mär 2017 14:14

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von Wosi (Beitrag 1364164)
Der Compiler fügt am Ende einer von ihm selbst zufällig ausgewählten Unit mehrere Leerzeilen ein

Ich konnte dieses Phänomen bei einigen Units beobachten, die ein SUB-Zeichen (^Z oder $1A) am Ende hatten. Damit wurde beim Speichern (IDE, nicht Compiler) jeweils eine zusätzliche Zeile eingefügt. Nachdem ich das Zeichen in einem separaten Editor entfernt hatte, war der Spuk vorbei.

a.def 14. Mär 2017 15:18

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Wie kann man sich diese Zeichen denn anzeigen lassen?

bra 14. Mär 2017 15:34

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1364166)
Ich konnte dieses Phänomen bei einigen Units beobachten, die ein SUB-Zeichen (^Z oder $1A) am Ende hatten. Damit wurde beim Speichern (IDE, nicht Compiler) jeweils eine zusätzliche Zeile eingefügt. Nachdem ich das Zeichen in einem separaten Editor entfernt hatte, war der Spuk vorbei.

Selbst wenn dem so wäre, wäre es immer noch ein Bug in der IDE, weil ich die PAS-Dateien ausschließlich in der IDE bearbeitet habe. Sprich, die müsste den Mist dann selbst eingefügt haben.

Uwe Raabe 14. Mär 2017 16:17

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von bra (Beitrag 1364176)
Selbst wenn dem so wäre, wäre es immer noch ein Bug in der IDE, weil ich die PAS-Dateien ausschließlich in der IDE bearbeitet habe. Sprich, die müsste den Mist dann selbst eingefügt haben.

In unserem Fall wäre es dann vermutlich Delphi 7 oder älter, denn die Dateien haben wir in diesem Zustand aus dem Versionskontrollsystem übernommen.

bra 14. Mär 2017 16:54

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Also ich bekomme den Fehler regelmäßig in Seattle/Berlin und das sind alles neu erstellte PAS-Dateien (mit XE7+), da FMX. Da ist definitiv nichts von Delphi 7 drin ;)

a.def 14. Mär 2017 16:55

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Wollte eben sogar noch fragen, ob sich ein Update auf Berlin denn dann lohnt. Aber wenn dieser nervige Fehler auch darin enthalten ist bleibe ich liebend gerne bei XE8.

Uwe Raabe 14. Mär 2017 17:15

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von bra (Beitrag 1364192)
Also ich bekomme den Fehler regelmäßig in Seattle/Berlin und das sind alles neu erstellte PAS-Dateien (mit XE7+), da FMX. Da ist definitiv nichts von Delphi 7 drin ;)

Kannst du (oder wer auch immer) das irgendwie reproduzieren?

Wie gesagt, ich hatte das ausschließlich in diesem einen Projekt, wobei ich auch nicht sagen kann, wie diese Zeichen da rein gekommen sind. Ansonsten ist hier sowas noch nie vorgekommen. Wenn das allerdings bei mehreren Installationen passiert, muss es ja irgendeinen Grund haben.

Uwe Raabe 14. Mär 2017 22:55

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Zitat:

Zitat von Wosi (Beitrag 1364164)
Der Compiler fügt am Ende einer von ihm selbst zufällig ausgewählten Unit mehrere Leerzeilen ein

Zitat:

Zitat von bra (Beitrag 1364192)
Also ich bekomme den Fehler regelmäßig in Seattle/Berlin und das sind alles neu erstellte PAS-Dateien (mit XE7+), da FMX. Da ist definitiv nichts von Delphi 7 drin ;)

Der Vollständigkeit halber auch hier: Welche PlugIns sind installiert?

Sonst irgendwie vom Standard abweichende Einstellungen oder Ergänzungen?

Stevie 14. Mär 2017 23:22

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Der Fehler tritt häufig in Verbindung mit Generics auf, die werden nämlich in die units, in der sie verwendet werden, einkompiliert und stehen dann an Zeilen nach dem end. Gibts dort irgendwo einen internen Fehler im Compiler steht der in der nächsten Zeile nach dem end.

a.def 15. Mär 2017 00:38

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
In meinem Projekt werden zwar Generics verwendet, aber nicht in der Unit selber wo der Fehler angezeigt wird.

jaenicke 15. Mär 2017 05:14

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
In einem alten noch mit XE kompilierten Projekt taucht das Problem ständig auf. Ein Neuerstellen genügt dann auch bei uns.

Mit neueren Delphiversionen (zumindest XE4+) tritt es bei uns nur noch sehr selten auf und in dieser Unit gar nicht.

Leider konnte ich nie eine Gemeinsamkeit feststellen, wenn es auftrat. Es scheint einfach zufällig mal zu passieren. JEDIs und CnWizards sind installiert.

MichaelT 15. Mär 2017 13:12

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Gurkt bei dir eine alte Version einer 'Library' rum oder so?

Trennst du die dcus von den source files? Vermutlich schon...



Zitat:

Zitat von a.def (Beitrag 1364151)
Seitdem ich XE8 habe bekomme ich beim Kompilieren immer wieder Fehler an Stellen angezeigt, wo gar keine sind.

Beispiel:
Zitat:

[dcc32 Fataler Fehler] _fu.pas(3241): F2063 Verwendete Unit '_fu.pas' kann nicht compiliert werden
Zeile 3241 ist eine Leere Zeile genau zwei Zeilen nach end. (mit PUNKT am Ende).

Was hat dieser komische, zufällige Fehler zu bedeuten?


a.def 15. Mär 2017 14:10

AW: Zufällige "Fatale Fehler" beim Kompilieren
 
Alles ist auf Standardeinstellungen und bevor ich XE8 installiert habe, habe ich XE2 und Berlin Starter restlos gelöscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 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