Moin,
ich habe beim Umstellen eines Projektes von D6 auf RAD2009 ein merkwürdiges Verhalten.
In der einen Datei habe ich
Delphi-Quellcode:
{$IFDEF EINS}
wert_a := 0;
{$ELSE IFDEF ZWEI}
wert_a := LeseWert_a(inifile);
{$ENDIF}
in einer weiteren Datei steht dann
Delphi-Quellcode:
{$IFDEF ZWEI}
function LeseWert_a(inifile : WideString) : double;
{$ENDIF}
Im Projekt ist derzeit ZWEI definiert. Der Compiler geht in die Zuweisung von wert_a und meckert, dass er die Routine LeseWert_a() nicht kennt (Undeklarierter Bezeichner).
Die Behandlung der Bedingung in D6 und 2009 scheint dort unterschiedlich zu sein. Liegt das daran, dass man die Deklaration der Routine für externe Nutzung nicht mehr in einem solchen Block behandeln darf? Die Routine ist nicht Member eines Objects.
Grüße, Messie