Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Codefolding funktioniert nicht! Warum? (https://www.delphipraxis.net/178015-codefolding-funktioniert-nicht-warum.html)

Nintendo 11. Dez 2013 12:37

Codefolding funktioniert nicht! Warum?
 
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?


.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 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