AGB  ·  Datenschutz  ·  Impressum  







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

Bedingte Compilierung macht Probleme

Ein Thema von t2000 · begonnen am 7. Dez 2023 · letzter Beitrag vom 7. Dez 2023
Antwort Antwort
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#1

Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 17:52
Plötzlich, seit eben gerade.
Delphi 11.3, keine Updates am System, nichts außergewöhnliches passiert, programmiere/compiliere täglich die aktuellen Projekte (sind mitten in der Entwicklungsarbeit)

Hier das Symptom:

Konsolenanwendung

ein Ausschnitt aus den "uses"

Delphi-Quellcode:
  {$IFDEF CONSOLE}
  sng.ServerApp,
  {$ELSE}
  sng.ServiceApp,
  {$ENDIF}
In der IDE ist die untere Zeile hellgrau. Also alles richtig.
Der Compiler geht aber in den ELSE-Zweig und will eine nicht vorhanden Unit laden.

Das Projekt ist schon ewig alt und nur eins von vielen gleicher Machart.
Heute vormittag war noch alles ok. Compilieren, Erzeugen, alles gut.

Jetzt geht es nicht mehr.
Klar, Neustart schon 2 mal gemacht.

Ist hier vielleicht irgendwas in der IDE Konfig zerschossen?

Tipps?

Viele Grüße und Danke
Thomas
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 17:56
Hallo,
kopier den Inhalt mal in den Editor (Notepad) und achte auf "komische" Zeilenumbrüche.
Das hilft beim Debuggen, wenn mal Code aus dem Netz kopiert wurde.

Ja, ich weiß, dass hier das Compilieren streikt.

Ansonsten, alles ausklammern und Zeile für Zeile wieder rein,
bis der Fehler auftritt.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:07
Er erkennt keinerlei Defines.

Habe mal von Hand !! {§DEFINE CONSOLE} eingebaut.
Dann geht dieser Block. Aber es gibt im Programm noch viele weitere Defines. Nun ist er beim nächsten hängengeblieben.

Die IDE kennt alle Defines, aber der Compiler nicht.
System läuft in einer VM und die habe ich schon neu gestartet. Vielleicht mal alles neu starten? Aber was liest der Compiler ein bzw. wie erkennt er "Dinge" für die bedingte Compilierung?
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:16
Muss am Projekt liegen.
In einer neuen Konsolenanwendung
Delphi-Quellcode:
    writeln( 'lasdkjgjadäölsdjgövajldkjg');
    {$IFDEF CONSOLE}
    writeln( '--------- CONSOLE ---------');
    {$ELSE}
    writeln( '--------- KEINE Console ---------'); xyz
    {$ENDIF}
    sleep(2000);
funktioniert alles
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  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
 
#5

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:25
Es gibt zwei Stellen, an denen eine Konsolenanwendung eingestellt wird: das {$APPTYPE CONSOLE} in der dpr und in den Projektoptionen unter Linken.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#6

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:30
Es gibt zwei Stellen, an denen eine Konsolenanwendung eingestellt wird: das {$APPTYPE CONSOLE} in der dpr und in den Projektoptionen unter Linken.
Beides korrekt eingestellt.

Ich habe die dproj-Datei aus Subversion auf einen Stand von vor einer Woche zurückgesetzt. Damit geht es auch nicht.
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:50
Neue Erkenntnisse.
Andere, selbst definierte, Defines funktionieren.

Wenn ich in den betroffenen 5 Units das {$DEFINE CONSOLE} manuell hinzufüge, kann ich wieder compilieren.
Es ist wirklich nur "CONSOLE", was plötzlich fehlt.

--pause

Ich habe was gefunden. Ich hatte heute vormittag zum debuggen "Mit Debug DCU's" ausgeschaltet.
Jetzt habe ich es wieder eingeschaltet und es funktioniert.

Was hat "Mit Debug DCU's" mit der bedingten Compilierung zu tun??
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 18:59
Ok, der Nachmittag ist hinüber.
Ich habe den Fehler gefunden.

Es sind ca. 70-80 units eingebunden.
Ich habe mir alle Unterschiede des Tages angesehen. (zu unserem Source-Sicherungssystem)
In einer "sehr tief liegenden" Unit war dieser Code enthalten: (siehe unten)
(Und ich bin glücklich mit Subversion zu arbeiten und täglich die Daten einzuchecken.)

Wo kommt der her? Kann man den durch eine Tastenkombination versehendlich erstellen?


Delphi-Quellcode:
{$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N-,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
{$WARN SYMBOL_DEPRECATED ON}
{$WARN SYMBOL_LIBRARY ON}
{$WARN SYMBOL_PLATFORM ON}
{$WARN SYMBOL_EXPERIMENTAL ON}
{$WARN UNIT_LIBRARY ON}
{$WARN UNIT_PLATFORM ON}
{$WARN UNIT_DEPRECATED ON}
{$WARN UNIT_EXPERIMENTAL ON}
{$WARN HRESULT_COMPAT ON}
{$WARN HIDING_MEMBER ON}
{$WARN HIDDEN_VIRTUAL ON}
{$WARN GARBAGE ON}
{$WARN BOUNDS_ERROR ON}
{$WARN ZERO_NIL_COMPAT ON}
{$WARN STRING_CONST_TRUNCED ON}
{$WARN FOR_LOOP_VAR_VARPAR ON}
{$WARN TYPED_CONST_VARPAR ON}
{$WARN ASG_TO_TYPED_CONST ON}
{$WARN CASE_LABEL_RANGE ON}
{$WARN FOR_VARIABLE ON}
{$WARN CONSTRUCTING_ABSTRACT ON}
{$WARN COMPARISON_FALSE ON}
{$WARN COMPARISON_TRUE ON}
{$WARN COMPARING_SIGNED_UNSIGNED ON}
{$WARN COMBINING_SIGNED_UNSIGNED ON}
{$WARN UNSUPPORTED_CONSTRUCT ON}
{$WARN FILE_OPEN ON}
{$WARN FILE_OPEN_UNITSRC ON}
{$WARN BAD_GLOBAL_SYMBOL ON}
{$WARN DUPLICATE_CTOR_DTOR ON}
{$WARN INVALID_DIRECTIVE ON}
{$WARN PACKAGE_NO_LINK ON}
{$WARN PACKAGED_THREADVAR ON}
{$WARN IMPLICIT_IMPORT ON}
{$WARN HPPEMIT_IGNORED ON}
{$WARN NO_RETVAL ON}
{$WARN USE_BEFORE_DEF ON}
{$WARN FOR_LOOP_VAR_UNDEF ON}
{$WARN UNIT_NAME_MISMATCH ON}
{$WARN NO_CFG_FILE_FOUND ON}
{$WARN IMPLICIT_VARIANTS ON}
{$WARN UNICODE_TO_LOCALE ON}
{$WARN LOCALE_TO_UNICODE ON}
{$WARN IMAGEBASE_MULTIPLE ON}
{$WARN SUSPICIOUS_TYPECAST ON}
{$WARN PRIVATE_PROPACCESSOR ON}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
{$WARN OPTION_TRUNCATED ON}
{$WARN WIDECHAR_REDUCED ON}
{$WARN DUPLICATES_IGNORED ON}
{$WARN UNIT_INIT_SEQ ON}
{$WARN LOCAL_PINVOKE ON}
{$WARN MESSAGE_DIRECTIVE ON}
{$WARN TYPEINFO_IMPLICITLY_ADDED ON}
{$WARN RLINK_WARNING ON}
{$WARN IMPLICIT_STRING_CAST ON}
{$WARN IMPLICIT_STRING_CAST_LOSS ON}
{$WARN EXPLICIT_STRING_CAST OFF}
{$WARN EXPLICIT_STRING_CAST_LOSS OFF}
{$WARN CVT_WCHAR_TO_ACHAR ON}
{$WARN CVT_NARROWING_STRING_LOST ON}
{$WARN CVT_ACHAR_TO_WCHAR ON}
{$WARN CVT_WIDENING_STRING_LOST ON}
{$WARN NON_PORTABLE_TYPECAST ON}
{$WARN XML_WHITESPACE_NOT_ALLOWED ON}
{$WARN XML_UNKNOWN_ENTITY ON}
{$WARN XML_INVALID_NAME_START ON}
{$WARN XML_INVALID_NAME ON}
{$WARN XML_EXPECTED_CHARACTER ON}
{$WARN XML_CREF_NO_RESOLVE ON}
{$WARN XML_NO_PARM ON}
{$WARN XML_NO_MATCHING_PARM ON}
{$WARN IMMUTABLE_STRINGS OFF}
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!

Geändert von t2000 ( 7. Dez 2023 um 19:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 19:01
Vielleicht kommt CONSOLE nicht als CompilerMagic vom Compiler kommt, sondern als DEFINE aus den Projektoptionen?

Ebenso wie die Define "DEBUG" und "RELEASE", welche in den jeweiligen OptionSets definiert sind, und rein garnichts mir dem "Name" der aktiven Config zu tun haben,
was richtig Spaß macht, wenn sie dort mal falsch/garnicht drin stehen.
$2B or not $2B

Geändert von himitsu ( 7. Dez 2023 um 19:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Bedingte Compilierung macht Probleme

  Alt 7. Dez 2023, 20:03
Wo kommt der her? Kann man den durch eine Tastenkombination versehendlich erstellen?
Strg-O+O, wenn ich mich recht erinnere.
Uli Gerhardt
  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:41 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