Gibt es eine Möglichkeit, dass ich im Compiler Vorgang erkenne, ob es eine
VCL oder FMX Anwendung ist?
Nein. (leider)
Man kann in einer Anwendung sogar Beides oder Nichts drin haben.
"Falls" im Projekt der
VCL- oder FMX-Namespace definiert ist,
dann könnte man sich zwei Units basteln ->
vcl.test.pas und fmx.test.pas .
Da drin dann eine Konstante deklarieren und "test" ins Uses aufnehmen.
Je nach definiertem Standardnamespace kompiliert dann eine der beiden Units oder knallt, falls keiner der Namespaces existiert.
Was ich mal wollte, war in einer Komponente abhängig von
VCL oder FMX die passenden Units zu verwenden.
Alles was nicht Windows ist, ist niemals
VCL, aber bei Windows ist das nicht so leicht.
Abhängig davon kommt es dann drauf an, welche TCanvas, TControl, TApplication usw. verwendet werden müssen.