Für unsere Skriptsprache brauchte ich etwas Ähnliches. Dort ging es darum, dass es eine Funktion gibt, die eine
DLL-Funktion aufruft und Parameter und Typen der Parameter mitgibt. Diese habe ich dann in ein Array von TVarData gepackt und dieses Array an eine in Assembler geschriebene Funktion übergeben, die dann diese beliebigen Parameter genommen und an die angegebene Funktion übergeben hat. Diese Funktion ist natürlich in Assembler geschrieben, aber das habe ich dann für x86, x64 und ARM umgesetzt.
Eine ähnliche Funktion hat Delphi selbst aber glaube ich auch schon... ich glaube in der
Unit Rtti oder so...