AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Das Synedit und sein Optionen-Dialog

Ein Thema von Delbor · begonnen am 1. Mai 2015 · letzter Beitrag vom 3. Mai 2015
Antwort Antwort
Delbor

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

Das Synedit und sein Optionen-Dialog

  Alt 1. Mai 2015, 12:45
Hi zusammen

Hat schon mal jemand den Optionendialog(TfmEditorOptionsDialog) des Synedits eingesetzt? Ich kann ihn zwar Modal anzeigen, Wenn ich dann jedoch OK drücke, wird hier eine AV geworfen:
Delphi-Quellcode:
procedure TfmEditorOptionsDialog.btnAddKeyClick(Sender: TObject);
var Item : TListItem;
begin
  Item:= KeyList.Items.Add;
  Item.Data:= FSynEdit.Keystrokes.Add;// <==
  Item.Selected:= True;
  btnUpdateKeyClick(btnAddKey);
end;
FSynedit ist nil. Warum? Was Fehlt? Der Constructor ist da, wird aber offensichtlich nicht aufgerufen.

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
Delbor

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

AW: Das Synedit und sein Optionen-Dialog

  Alt 2. Mai 2015, 12:59
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
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
Delbor

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

AW: Das Synedit und sein Optionen-Dialog

  Alt 3. Mai 2015, 13:31
Hi zusammen

Um meinen Monolog mal weiter zu führen und als Info, falls mal jemand vor dem selben Problemchen steht: die Sache funktioniert so, wie im letzten Beitrag gezeigt. Die Falle bestand darin, dass ich zur Designzeit dem Synedit-Gutter (dem linken Rand mit den Zeilennummern) einen Farbverlauf verpasst habe - das Property Gradientcolor war also True. Und somit hat das Setzen von Color keine Auswirkung.
Zumindest in meiner Version bietet der SynEditOptionsDialog keine Möglichkeit, das Property Gradientcolor und die Gradientfarben (an- oder ab) zu wählen.

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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz