Zitat:
ber das ist doch nicht "sauber"
Oder zumindest wurde es nicht so von der Delphi-Language beabsichtigt.
Doch absolut sauber und absolut so beabsichtigt. Das Besondere an der
VCL ist es das sie zur Designzeit und Laufzeit über zb. den
OI oder Klassenexplorer dir Unterstützung bieten kann. Das war das Argument eines
RAD Systems. Und um das zu können gibts die
RTTI durch den Compiler erzeugt und die Schnittstelle zu dieser
RTTI ist die
Unit TypInfo. Eine
DFM zb. speichert ja auch eine ENUM Poperty einer Komponente im Klartext, oder im
OI kannst du eine solche ENUM Property im Klartext zb. bei .BorderIcons = [biMaximize, biMinimize] einstellen oder ? Nun exakt das wird über die RTTIs und
Unit TypInfo gemacht, egal ob zur Designzeit oder Laufzeit. Denn zu Laufzeit muß ja ein Formular als
DFM Resource geladen werden und in diesem Moment benötigt der
VCL Code wiederum diese ENUM Bezeichner im Klartext. (ENUMs == SETs == Mengen)
Ergo: Borland hat das mit voller Absicht so konstruiert, für seine und auch für unsere Zwecke
Die reguläre Schnittstelle zur
RTTI ist
Unit TypInfo.pas.
Gruß Hagen