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