Unabhängig von GetParentHandle und Co.
Wenn du eine
VCL-Komponente baust, dann ist die
VCL so oder so im Programm,
womit es keinen Grund gibt, warum diese
Unit auch in deinem USES nicht drin sein sollte. (es macht einfach keinen Unterschied)
Fazit: Falls man Funktionen/Typen davon braucht, dann nehme man sie, mache sich das Leben leicherter und erspare sich sonstwelche komischen Hacks.
Ist auch viel unanfälliger für Fehler.
Was leider nicht wirklich machbar ist, auch wenn es theoretisch ginge.
Eine Nichtvisuelle-Komponente für FMX und
VCL, die aber auf andere visuelle Komponenten Zugriff haben soll.
Denn sowas wie {$IFDEF FMX} gibt es nicht, womit man zwar Code schreiben könnte, der mit
VCL und FMX kann, aber dann nur mit kranken Hacks
oder indem man alle Units von
VCL und FMX einbinden müsste, was im Windows ginge (auch wenn es nicht schön wäre), aber ansonsten wunderschön abraucht.