AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi meldet sinnlose Compilerfehler

Ein Thema von Carsten Hölscher · begonnen am 4. Apr 2023 · letzter Beitrag vom 13. Apr 2023
Antwort Antwort
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi meldet sinnlose Compilerfehler

  Alt 4. Apr 2023, 01:21
Delphi-Version: 5
Auch mit der letzten Delphi-Version hab ich folgenden Effekt mit gefühlt in letzter Zeit zunehemender Häufigkeit:
Mein Projekt kompiliert nur noch zufällig erfolgreich, mal geht es, mal nicht in erratischer Weise teils mit unverändertem Quellcode.
Eben gerade war es so, dass 64bit release und debug swieso 32bit release liefen, während 32 bit debug folgende Beschwerden lieferte:

Code:
[dcc32 Fehler] ZusiNetzwerkForm.pas(1114): E2003 Undeklarierter Bezeichner: 'TZugfernsteuerungProzess'
[dcc32 Fehler] ZusiNetzwerkForm.pas(1114): E2066 Operator oder Semikolon fehlt
[dcc32 Fehler] ZusiNetzwerkForm.pas(1116): E2382 Konstruktoren können mit Instanzenvariablen nicht aufgerufen werden
[dcc32 Fehler] FehlersucheForm.pas(108): E2003 Undeklarierter Bezeichner: 'TZusi3Grafik'
[dcc32 Fehler] FehlersucheForm.pas(309): E2066 Operator oder Semikolon fehlt
[dcc32 Fehler] FehlersucheForm.pas(309): E2066 Operator oder Semikolon fehlt
[dcc32 Fehler] FehlersucheForm.pas(352): E2066 Operator oder Semikolon fehlt
[dcc32 Fehler] FehlersucheForm.pas(352): E2066 Operator oder Semikolon fehlt
[dcc32 Fataler Fehler] F2063 Verwendete Unit 'FehlersucheForm.pas' kann nicht compiliert werden
Wenn man sich die Stellen im code anschaut, sind die alle i.o., sie laufen ja auch in den anderen 3 Versionen durch.
Hat jemand eine Idee, wie man sich dem Problem nähern kann?
Wenn ich jetzt irgendwas an anderer Stelle umprogrammiere, dann kann es danach möglicherweise wieder laufen, es ist völlig erratisch aber sehr lästig.
Manchmal hilft auch Strg-F9, wenn man Glück hat, ändert sich die bemängelte Stelle zunächst von Aufruf zu Aufruf und am Ende läuft es durch. Aktuell bekomme ich es gerade in 32bit debug gar nicht ans Laufen....

Carsten
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi meldet sinnlose Compilerfehler

  Alt 4. Apr 2023, 08:04
Eben gerade war es so, dass 64bit release und debug swieso 32bit release liefen, während 32 bit debug folgende Beschwerden lieferte:
Das ist so ohne weitere Informationen nicht effizient zu analysieren. Es kann z.B. an bestimmten IFDEFs liegen, die ein unterschiedliches Verhalten hervorrufen. Auch abweichende Einstellungen in den Konfigurationen sind als Ursache möglich.

Ich will nicht ausschließen, dass der Compiler in gewissem Maße non-deterministic ist, aber in diesem Fall würde ich das Problem zunächst an anderer Stelle suchen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Delphi meldet sinnlose Compilerfehler

  Alt 4. Apr 2023, 09:20
Was passiert wenn du zweimal hintereinander kompilierst ohne etwas zu verändern? Beim zweiten mal läuft es bei mir meißt durch.

Probier auch mal die ganzen Entwicklerverzeichnisse von deinem Antivirus Live Scan auszuschließen. Es muss nicht immer an Delphi liegen
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi meldet sinnlose Compilerfehler

  Alt 4. Apr 2023, 09:30
Zitat:
zweimal
Ändert wohl nichts, aber vielleicht einmal Build oder vorher Clean, anstatt nur Compile.


Beim Inline-Compiler hilft es auch manchmal Delphi neu zu starten,
oder auf externes Kompilieren (msbuild) umzustellen.
(hier aber vor allem wenn man vom Internal Error geplagt wird und danach dann eh nichts mehr geht)
$2B or not $2B

Geändert von himitsu ( 4. Apr 2023 um 09:32 Uhr)
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Delphi meldet sinnlose Compilerfehler

  Alt 7. Apr 2023, 21:18
Als ich das jetzt mal testen wollte, lief wieder alles korrekt. Was ich aber vorher geändert hatte:
Ich nutze reichlich Kompilerdirektiven, da ich aus meinen Code etliche Varianten je nach Version/Kundenkreis produzieren kann. Eine länger nicht mehr benutzte Variante warf berechtigte Fehler, da die Kompilerdirektiven für diese Variante zu Doppeleinträgen in der uses-Klausel führten.
Diese Fehler habe behoben. Danach lief auch die zuvor problematische Version wieder, die von diesem Kompilerdirektiven-Fehler nicht betroffen war. Kann es sein, dass sowas die Ursache für das Problem ist und dann Unsinn an völlig anderen Zeilen gemeldet wird?

Carsten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi meldet sinnlose Compilerfehler

  Alt 7. Apr 2023, 22:02
Geänderten Quelltext erkennt der Compiler normalerweise und erzeugt die jeweiligen DCUs neu, auch bei einem einfachen Compile.

Aber vor allem DEFINE aus INC oder via Parameter oder Projektoptionen betrifft das nicht, da die Genutzen scheinbar nicht in der DCU nicht stehen (oder es nicht geprüft wird).



Egal, es bleibt wie schon gesagt.
Zitat:
Ändert wohl nichts, aber vielleicht einmal Build oder vorher Clean, anstatt nur Compile.
$2B or not $2B
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Delphi meldet sinnlose Compilerfehler

  Alt 11. Apr 2023, 12:03
Danke fürs Augenöffnen mit Strg-F9 und Shift-F9, das hatte ich doch glatt falsch im Kopf.
Was genau ist denn ein "Clean"?

Gestern dann mal eine neue Spielart, nachdem ich alle exe des Projekts in diversen Compilerschaltervarianten getestet und ggf. korrigiert hatte: Es kompiliert alles aber beim Start kommt es zu einem Fehler in der folgenden Art:

Code:
---------------------------
Benachrichtigung über Debugger-Problem
---------------------------
In Projekt D:\.........exe trat ein Problem mit folgender Meldung auf: 'system exception (code 0xc000041d) at 0x33eee275'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK  
---------------------------
Der Fehler wird in der dpr-Datei ausgelöst, wenn man ein Formular erzeugt, noch bevor das oncreate des Forms angesteuert wird. Das Formular ist völlig harmlos, nur ein paar Eingabefelder und OK-Buton.

Aber dann hab ich mal alle Debugger-Haltepunkte gelöscht (waren glauch ich gar nicht aktiv) und seitdem läuft alles einwandfrei. Vielleicht hilft das ja mal anderen Lesern...

Carsten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi meldet sinnlose Compilerfehler

  Alt 11. Apr 2023, 13:56
Hier wird aber nicht zufällig mit einem Windows-Dienst/Service rumgespielt?

Zitat:
0xc000041d
41d = ERROR_SERVICE_REQUEST_TIMEOUT
https://learn.microsoft.com/en-us/wi...es--1000-1299-
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Delphi meldet sinnlose Compilerfehler

  Alt 12. Apr 2023, 13:14
Was genau ist denn ein "Clean"?
Ungefähr sowas (das macht bei mir ein Batchfile, das im "Tools"-Menüpunkt hinterlegt ist:
Code:
del *.dcu /s
del *.exe /s
del *.map /s
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Carsten Hölscher

Registriert seit: 29. Jul 2008
77 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Delphi meldet sinnlose Compilerfehler

  Alt 13. Apr 2023, 18:21
OK, das entspricht ca. meiner Erwartung.

Zitat:
Hier wird aber nicht zufällig mit einem Windows-Dienst/Service rumgespielt?
Bin mir keiner Dinge bewusst in der Hinsicht. Was bzw. welche Komponenten könnte das denn auslösen? Als der Fehlerfall anlag, bin im Debugger die dpr-Datei schrittweise duchgegangen und bei Create jenes banalen Forms kam reproduzierbar der Fehler.

Carsten
  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 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz