Einzelnen Beitrag anzeigen

Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#1

Codefolding funktioniert nicht! Warum?

  Alt 11. Dez 2013, 12:37
Hallo,

ich experimentiere gerade mit Codefolding. Die Synedits habe ich aus dem File syncodefolding_646.zip von hier aus der DP.

Hier ist nun mein erster Versuch und der schlägt leider fehl, aber warum, ich hab doch alles so gemacht, wie in demmitgelieferten Beispielprogramm, außer das ich noch die Änderungen von hier:

http://www.delphipraxis.net/125327-s...e-folding.html

mit eingearbeitet habe.

Delphi-Quellcode:
unit UMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, SynEditHighlighter, SynHighlighterPas, SynEditCodeFolding, SynEdit;

type
  TForm1 = class(TForm)
    Editor: TSynEdit;
    HighlighterPas: TSynPasSyn;
    OpenDialog: TOpenDialog;
    btnOpen: TButton;
    procedure btnOpenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure EditorChange(Sender: TObject);
  private
    { Private-Deklarationen }
    FFilename: String;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnOpenClick(Sender: TObject);
begin
  if OpenDialog.Execute then
  begin
    FFilename := OpenDialog.FileName;
    Editor.Lines.LoadFromFile(FFilename);
    Editor.InitCodeFolding;
    Editor.Repaint;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Editor.CodeFolding.Enabled := True;

  Editor.CodeFolding.FolderBarColor := clWindow;
  Editor.CodeFolding.FolderBarLinesColor := clGray;
  Editor.CodeFolding.CollapsedLineColor := clBtnFace;

  Editor.CodeFolding.HighlighterFoldRegions := True;
  Editor.CodeFolding.IndentGuides := True;
  Editor.CodeFolding.ShowCollapsedLine := True;
  Editor.CodeFolding.CollapsedCodeHint := True;
  Editor.CodeFolding.FoldRegions. Add(rtKeyWord, False, False, True, 'begin', 'end');
  //In OnChange von Synedit -> Editor.ReScanForFoldRanges;
end;

procedure TForm1.EditorChange(Sender: TObject);
begin
  Editor.ReScanForFoldRanges;
end;

end.
Was mache ich falsch?

Warum funktioniert das mit den Synedits mitgelieferte Demo. Da funktioniert das Codefolding. Warum also dann in meinem eigenen Programm nicht?


.

Geändert von Nintendo (11. Dez 2013 um 13:09 Uhr)
  Mit Zitat antworten Zitat