Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Komponenten: Einsatz und Veränderung

  Alt 5. Mai 2015, 12:34
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
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat