Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > SynUniHighlighter и SynEdit > synedit 2.02+unihighliter 1.8 баг подсветки


Автор: ORMADA 1.6.2006, 12:27
доб день!
набросал простой пример
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  kw                                    : TSynKeylist;
begin
  SynEdit1.Highlighter := nil;
  //--- прибиваем подсветку старых тегов ---------------------------------------
  HTMLAndUsersSynUniSyn.MainRules.Reset;

  kw := TSynKeyList.Create('<:app>'+#13+'<:app_name>');
  kw.Name := 'Example 1';
  kw.Attribs.Foreground := clRed;
  kw.Attribs.Background := clWhite;

  HTMLAndUsersSynUniSyn.MainRules.AddKeyList(kw);

  HTMLAndUsersSynUniSyn.MainRules.Prepare(nil);

  SynEdit1.Highlighter := HTMLAndUsersSynUniSyn;
end;

если потом вызвать 
Код

procedure TForm1.Button2Click(Sender: TObject);
var
  kw                                    : TSynKeylist;
begin
  SynEdit1.Highlighter := nil;
  //--- прибиваем подсветку старых тегов ---------------------------------------
  HTMLAndUsersSynUniSyn.MainRules.Reset;

  kw := TSynKeyList.Create('<:app>');
  kw.Name := 'Example 1';
  kw.Attribs.Foreground := clRed;
  kw.Attribs.Background := clWhite;

  HTMLAndUsersSynUniSyn.MainRules.AddKeyList(kw);

  HTMLAndUsersSynUniSyn.MainRules.Prepare(nil);

  SynEdit1.Highlighter := HTMLAndUsersSynUniSyn;
end;


подсветка слова <:app_name> не пропадает!
баг или я что-то не так написал ? 

Автор: Vitalik 17.6.2006, 19:40
Цитата(ORMADA @  1.6.2006,  11:27 Найти цитируемый пост)
подсветка слова <:app_name> не пропадает!
баг или я что-то не так написал ?  

Ты неправильно написал user posted image
Для очистки правил подсветки нужно использовать метод Clear, а не Reset. Последний (метод Reset) используется для очистки дерева токенов, которое нужно для быстрой подсветки, и которое формируется на основе правил подсветки smile

Вобщем, используй Clear и совсем забудь про Reset smile  

Автор: ORMADA 19.6.2006, 05:45
2 Vitalik
ПАСИБА! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)