Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
761 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bedingte Compilierung

  Alt 10. Okt 2016, 12:47
Hallo himitsu

besten Dank für deine Antwort. Ja, das Symbol DEBUG ist definiert.

Nebenbei: Bei mir sind die Symbole DEBUG und RELEASE immer definiert - genau dort wo du schreibst (Release zum Beispiel: Delphi Compiler > Bedingungen > Inherit > Value from Release configuration > RELEASE).

Bei den früheren Delphi Versionen hat es geklappt.

Ich sehe, dass (wie erwartet) der initialization Teil von fastmm4 durchlaufen wird, ob fastmm4 nun IN der Bedingung oder AUSSERHALB steht.

Also sowohl so

Variante1:

programm Jass;
uses
fastmm4,
{$IFDEF DEBUG}
{$ENDIF }

wie auch so

Variante2:
programm Jass;
uses
{$IFDEF DEBUG}
fastmm4,
{$ENDIF }

; das Symbol DEBUG ist also definiert [ich sehe dies auch an anderer Stelle im Programm].

Es steht also (bei definiertem Symbol DEBUG) zwei Mal das "Gleiche" da.

Wenn ich Variante 1 erzeuge, dann klappt alles wunderbar.
Wenn ich Variante 2 erzeuge [also den genau "gleichen" Quellcode verwende] und laufen lasse, dann bleibt das Ding in 100% aller Fälle hängen. Ich drücke in der IDE den Stop Button und es wird angezeigt "Debugger fatal error during process reset"; ich solle meine Arbeit speichern und Delphi neu starten.

Da bei beiden Varianten DEBUG definiert ist, sollte es ja mit Variante 2 klappen, wenn es mit Variante 1 funktioniert (?).

[Nebenbei: Variante 3 ohne die Verwendung von fastmm4 funktioniert.]


Ich bin froh um jeden Tipp. Danke.


Gruss aus Wabern (CH),
Michael
Michael Gasser
  Mit Zitat antworten Zitat