Hi zusammen
Nach längerem und wiederholten Durchsteppen habe ich im Moment folgenden Lösungsansatz:
Delphi-Quellcode:
procedure TSynEditFrame.DoOptionsDialogShow;
var SynEditorOptionsContainer : TSynEditorOptionsContainer;
begin
SynEditorOptionsContainer := TSynEditorOptionsContainer.Create(Self);
SynEditorOptionsContainer.Assign(SynEdit1);
if SynEditOptionsDialog1.Execute(SynEditorOptionsContainer) then begin
// SynEdit1.Assign(SynEditorOptionsContainer);
SynEdit1.Gutter.Color := SynEditorOptionsContainer.Gutter.Color;
end;
end;
Der Dialog wird angezeigt, und wenn ich ihn wieder Schliesse, execute aufgerufen. Die Programmausführung durchläuft nun verschiedene Prozeduren, die die Eigenschaften des SynEditorOptionsContainer verändern. So, wie ich das verstanden habe, sollte nun die modifizierten Eigenschaften enthalten.
Testweise habe ich im Dialog die Farbe für den Gutter verändert und weise diese nun zu. Mit dem Effekt, dass sich im Synedit1 nichts ändert...
Ganz offensichtlich habe ich ziemlich verquert gedacht was ja bei einem rauchenden Kopf nicht weiter verwunderlich ist. Immerhin haben die beteiligten Synedit-Units mit einer Ausnahme (ca. 200) zwischen gut 1000 und knapp 1400 Zeilen Code....
Hat jemand eine Idee, wo ich falsch gedacht haben könnte?
Ein etwas ungewöhnlicher Gedanke meinerseits war, die von mir benutzten Synedit-Units hier als Anhang hochzuladen. Etwas, das im Falle von Delphi-Units aus Lizenzgründen nicht möglich ist. Im Falle von Synedit dürfte dies wohl etwas anders aussehen, da Synedit Opensource ist.
Gruss
Delbor