Das, was du an Interfaces definierst, entspricht halt ziemlich genau dem, wie auch die
VCL schon aufgebaut ist (Checkbox – Boolean, Edit – String etc...).
Das ist es gerade *nicht*. Das eine ist das Model, das andere die View. Ich definiere ja nur z.B. eine Selektion (eine Auswahl aus einer Liste). Wie das dargestellt wird, ist dem Funktionsgenerator ja schnurz (Combo, Radiogroup). Genauso verhält es sich mit einem Double. Soll das eine Maskedtextbox werden? Von mir aus? Ein Slider? Auch gut, ist eh Sache der View. Das Plugin hat damit nichts am Hut.
Aber nicht immer ist für den gleichen Parametertyp das gleiche Control die beste Wahl. Vielleicht hast du zwei Int-Parameter, aber für den einen bietet sich eher ein Slider an und für den anderen eher ein SpinEdit. Was von beiden dargestellt werden soll, muss entweder im Interface angegeben werden (das wäre dann die Dopplung und Vermischung von interner und äußerer Darstellung), oder dein „Renderer“ muss sehr viele Spezialfälle beinhalten. Aber ob er jemals so intelligent wird wie ein menschlicher Designer?
Und es wird noch schwieriger dadurch, dass unterschiedliche Plattformen unterschiedliche Bedienkonzepte brauchen. Eine Smartphone-App willst du nicht so bedienen wie deinen Desktop-Client.