Also ich hab auch den Eindruck, dass du da was durcheinander bringst
ich habe ein paar Routinen geschrieben, in denen am Anfang
durch eine Funktion die Windowsversionen (grob: Win32, WinNT)
Klingt für mich, als würdest du zur LAUFZEIT auslesen, auf welchem (Windows) OS dein Programm läuft, und dann ggf. mit „normalen“ IF-Statements (vermutlich) unterschiedliche API-Funktionen aufrufst.
ausliest und dann die folgende Compilierung durch
Compilerdirektiven beeinflusst werden.
Das ist was ganz anderes. Wie Nils sagte, Compiler-Direktiven haben nichts mit „normalen“, d.h. „Laufzeit-IFs“ der Pascal-Sprache zu tun. Mit diesen Compiler-Direktiven baust Du sozusagen ein komplett anderes Programm, da Code u. U. ausgelassen/vertauscht wird.
Nun ist mir allerdings bewusst, dass dies nicht geht.
Deshalb meine Frage: Wie kann man die Windows-Version noch VOR
dem Implementationsteil ausfindig machen?
Musst Du evtl. für verschiedene Windows-Versionen spezielle Versionen deines Programms liefern ?
Dann geht das wie oben beschrieben mit einer gemeinsamen EXE und „normalen“ Sprach-gesteuerten IFs.
Oder Du machst das mit Compiler-Direktiven. Ob die so „fein“ granuliert sind und zwischen NT 4, Win98, WinME etc. unterscheiden weis ich nicht. Selbst fals ja, würde das aber bedeuten, dass Delphi dann NUR DAS AUSLIEST WAS AUF DEM COMPILIERUNGS-PC vorhanden ist. Wenn der Win2000 ist, sprechen die Win2000-Compiler-Direktiven an und es werden keine (möglichen) Win98-Bedingungen berücksichtigt.