Hi zusammen
In erster Linie geht es hier um ein Verständnisproblem - teilweise versteh ich zwar, was abläuft, aber eben nicht komplett.
Aktuell handelt es sich um TSynedit. Ich hab mir diese Suite schon vor einiger Zeit installiert. Nun soll sie in einem Frame eingesetzt werden, den ich völlig unabhängig zu programmieren gedachte - was er dank Synedit, bzw des zugehörigen Option-Dialogs, nicht mehr ist.
TSynEditOptionsDialog wird wie das Synedit selbst in Delphis Toolbox angeboten, und so hab ich mir das Ding auf einen Frame in einem Testprojekt mit einem Synedit gezogen. Da die benötigte
Unit (hier SynEditOptionsDialog) nicht automatisch unter Uses eingetragen wird, hab ich das Ding aus dem Ordner Synedit/Source geöffnet, um den Unitnamen per Copi&Paste im richtigen Uses-Abschnitt einzutragen. Anschliessend habe ich diese
Unit im Projektverzeichnis des Testprogrammes gespeichert.
Nun habe ich in der
Unit einge wenige Veränderungen angebracht, wie
hier beschrieben. Ausserdem habe ich die Form des OptionenDialogs um einige Eingabefelder und den Quelltext um Code, der diese Eingabefelder liest/beschreibt, erweitert.
Und hier kommt der Punkt, an dem meine Verständnisfrage ansetzt.
In einem weiteren Test habe ich nochmal ein Synedit und einen OptionenDialog eingefügt. Auch diesmal habe ich die beiden benötigten Units aus dem selben Source-Verzeichnis (auf den auch Delphis Suchpfad zeigt) geöffnet, allerdings ohne sie im aktuellen Projektverzeichnis zu speichern.
Klar ist, die Änderungen, die ich im erste Testprojekt vorgenommen hatte, sind da nicht vorhanden.
Aber genau da beginnt mein
Unverständnis Chaos, da die Synedit-Komponenten in einem bereits kompilierten
Package enthalten sind, auch der OptionenDialog - der könnte andernfalls ja gar nicht in der Toolbox angeboten werden.
Viel kürzer ausgedrückt, könnte man das auch so formulieren: mich erstaunt, dass Änderungen, die ich am beiliegenden SourceCode einer bereits kompilierte Komponente vorgenommen habe, überhaupt ausgeführt werden, auch wenn dieser Source komplette (Komponenten-)Klassendefinitionen enthält.
Übrigens - wer lizenzrechtliche Bedenken hat, hier zu schreiben die Synedit-Komponenten stehen unter der
Mozilla Public License und der
GPL
Gruss
Delbor