Ich habe eine Compilerdirektive in einer Unit definiert. Innerhalb der Unit wird ein Objekt erzeugt aus einer zweiten Unit. In der zweiten Unit wird auf die Compilerdirektive reagiert. Soweit die Theorie in der Praxis funktioniert das mal wieder nicht. Auf die Compilerdirektive wird nur reagiert wenn ich sie unter den Projektoptionen angebe. Wo ist das problem und wie kann man es lösen?
<pre>
unit unit1
uses unit2;
procedure tobj1.aufruf();
var obj2: tobj2;
begin
{define VERCHECK}
obj2:=tObj2.Create;
obj2.aufruf;
{undef VERCHECK}
end;
unit unit2
procedure tobj2.aufruf();
begin
{ifndef VERCHECK}
//Do something
***
{else}
//do something else
{endif}
end;
<pre>
unit unit1
uses unit2;
procedure tobj1.aufruf();
var obj2: tobj2;
begin
{define VERCHECK}
obj2:=tObj2.Create;
obj2.aufruf;
{undef VERCHECK}
end;
unit unit2
procedure tobj2.aufruf();
begin
{ifndef VERCHECK}
//Do something
***
{else}
//do something else
{endif}
end;
Comment