Zitat:
Resourcen und so gut wie garnicht im Programm zu entdecken
verstehe ich nicht. Du kannst in deiner
DB zb. eine Resource wie eine
DFM speichern richtig ? Und ich zb. der dein Program analysiert sollte nicht in der Lage sein die Klassennamen die in dieser
DFM verwendet werden zu analysieren ? Falsch gedacht, das ist jederzeit möglich MUSS es sogar auch denn OHNE Klassen und Klassennamen der Komponenten KANN kein Delphi Program funktionieren. Alleine schon das Laden der
DFM Resource durch das
VCL Streaming System benötigt die Klassennamen als Strings in der Resource um die zu erzeugenden Komponenten mit den Klassen der
RTTI im Codesegment zu verknüpfen. WENN als in der
DFM der Klassenname notwendig ist so MUSS es zwangzläufig in der
RTTI auch einen Klassennamen im Codesegement der Anwendung geben. Alleine aus technischen Gründen schon. Mir ist es nun Brust ob ich die
DFM's lesen kann, die interessieren überhaupt nicht, da ich einfach das Codesegment der Anwendung nach den Klassen scannen werde. Dort finde ich Strings der
RTTI wie TCustomForm, TObject, TStream, TidServer, TCipher_Rijndael usw. usw. usw. ADs Codesegement muß irgendwann zur Laufzeit unverchlüsselt im Speicher liegen, da ansonsten der Code nicht ausführbar ist. Und exakt dort wo die Klasse deklariert wurde wird im gleichen Codesegement die
RTTI durch den Compiler gespeichert. In der
RTTI der Klassennamen, bzw. der Typname des deklarierten Types der identisch bei Klassen mit dem Klassennamen ist. Sogesehen findet man in einer Klassen-
RTTI den Namen der Klasse sogar zweimal gespeichert vor.
Es gibt nur eine Möglichkeit die Analyse zu verhindern ob man zb.
Indy verwendet hat (in Bezug auf das analysieren der
RTTI und Klassen). Nämlich Source klauen, alle Typen und Klassen umbenennen und neu kompilieren.
Gruß Hagen