Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > SynUniHighlighter и SynEdit > Установка SynUni


Автор: miksayer 31.7.2005, 16:35
Как правильно установить SynUni? вроде делаю все, как в readme написанно, но ничего не получается. Желательно, выложить уже подправленные файлики(там какие-то файлы править надо)

Автор: Vitalik 1.8.2005, 10:19
Значится, так...
С установкой под C++Builder сейчас есть небольшие проблемы. Для тех, кто хочет помочь: тема "http://forum.vingrad.ru/index.php?showtopic=59455"

Поэтому пока что есть альтернативный способ установки. Это встраивание SynUniHighlighter'а в SynEdit с последующей установкой SynEdit. Таким образом при установке последнего установится и SynUniHighlighter.

Теперь подробнее о встраивании.
Шаг 1. Удалить все старые версии компонентов из "Install packages...", удалить bpl-ки из %Builder%\Projects\Bpl, убрать все пути из "Library path" для SynEdit и SynUni.
Шаг 2. Скопировать все pas-файлы SynUniHighlighter'а и XmlParser'а в папку %SynEdit%\Source.
Шаг 3. Подредактировать файл %SynEdit%\Source\SynEditReg.pas следующим образом:
Цитата
//...
interface

uses
//...
  SynAutoCorrect,
  SynEditSearch,
  SynEditRegexSearch,
  LibXmlParser,
  SynUniHighlighter,

//...

procedure Register;

implementation

procedure Register;
begin
//...
  GroupDescendentsWith(TSynHighlighterManager, TSynEdit);
  GroupDescendentsWith(TSynEditOptionsDialog, TSynEdit);
  GroupDescendentsWith(TSynURIOpener, TSynEdit);
  GroupDescendentsWith(TSynUniSyn, TSynEdit);
{$ENDIF}

// SynEdit extra components
  RegisterComponents(SYNS_ComponentsPage, [TSynExporterHTML, TSynExporterRTF,
    TSynExporterTeX, TSynEditPythonBehaviour, TSynMultiSyn,
    TSynCompletionProposal, TSynAutoComplete, TSynMacroRecorder,
    TSynEditPrint, TSynEditPrintPreview, TSynAutoCorrect,
    TSynEditSearch, TSynEditRegexSearch, TSynEditOptionsDialog, TSynURIOpener, TSynUniSyn]);
//...
end;

end.

Шаг 4. Добавить путь к %SynEdit%\Source в "Library path"
Шаг 5. Открыть, откомпилировать и установить SynEdit с помощью соответствующего bpk-пакета из %SynEdit%\Packages

Всё, наслаждайтесь использованием SynUniHighlighter из билдера smile

P.S. На всякий случай вкладываю исправленный файлик SynEditReg.pas

Автор: ppp 7.11.2005, 11:26
Не получаеться установить под Builder C++ 5

При компилировании под BCB 5 SynUniHighlighter версии 1.8
выскакивает ошибка типа не может понять что такое BoolToStr
и откдуа оно береться
WriteParam(Key, BoolToStr(Value,True), CloseTag);

При компилировании на самом последнем SynUniHighlighter выскакивает на Variants.dcu
мол нет такого файла.
Использовался последний SynEdit.

Нужна помощь.

Автор: Vitalik 8.11.2005, 19:11
Цитата(ppp @ 7.11.2005, 11:26)
Не получаеться установить под Builder C++ 5

Да, есть такая проблема...
Как думаете, целесообразно ли пробовать включить поддержку Builder5 и Delphi5 в UniHighlighter 1.8 и выложить это чудо как UniHighlighter 1.8.1?..

Цитата(ppp @ 7.11.2005, 11:26)
При компилировании под BCB 5 SynUniHighlighter версии 1.8
выскакивает ошибка типа не может понять что такое BoolToStr
и откдуа оно береться
WriteParam(Key, BoolToStr(Value,True), CloseTag);

Это уже проскакивало на форуме. Посмотри http://forum.vingrad.ru/index.php?showtopic=61026&view=findpost&p=490945 smile

Цитата(ppp @ 7.11.2005, 11:26)
При компилировании на самом последнем SynUniHighlighter выскакивает на Variants.dcu
мол нет такого файла.

Гм... В Builder5 и Delphi5 нет поддержки вариантов?..
Ну ничего страшного... Мы вскоре перейдём на новый XML-парсер и необходимость в вариантах отпадёт...

Автор: ppp 9.11.2005, 10:38
Vitalik
Цитата
Да, есть такая проблема...
Как думаете, целесообразно ли пробовать включить поддержку Builder5 и Delphi5 в UniHighlighter 1.8 и выложить это чудо как UniHighlighter 1.8.1?..

Думаю не целесообразно, но хотелось бы smile.

Цитата
Гм... В Builder5 и Delphi5 нет поддержки вариантов?..
Ну ничего страшного... Мы вскоре перейдём на новый XML-парсер и необходимость в вариантах отпадёт...

Было бы интересно....

Автор: ppp 14.11.2005, 16:50
Дополнения к методу поисанному Vitalik для установки под BCB в случае если нужно установить под BCB 5.
В файл SynUniClasses.pas добовляем Обявление функции
Цитата

function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;


И саму функцию которой собственно и не хватало для компиляции.

Цитата

function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
const
  cSimpleBoolStrs: array [boolean] of String = ('0', '-1');
begin
  if UseBoolStrs then
  begin
    if B then
      Result := 'True'
    else
      Result := 'False';
  end
  else
    Result := cSimpleBoolStrs[B];
end;


и последний штрих - коментарим строку в этом же файле
Цитата

constructor TSynUniStyles.Create;
begin
//  Self.OwnsObjects := True; закоментированная строка
end;


На этом все.

Автор: EG0 20.1.2006, 10:39
Сделал все по шагам, ничего не вышло smile

т.е. SynEdit нормально установился, но SynUniEdit нету (да и вообще, установились те же компоненты, что и раньше)

у меня BCB 6...smile


ps
У меня тут мысль еть, я не знаю, как сделали авторы UniHighlighter (так я его ни разу и не видел Т_Т), но может такую фишку сделать:
создать класс раскраски, но только чтобы он имел функцию LoadFromFile (не тот, что сейчас у них) и таким образом чтобы можно было загружать hgl .... smile

Автор: Vitalik 20.1.2006, 15:18
Цитата(EG0 @ 20.1.2006, 09:39 Найти цитируемый пост)
т.е. SynEdit нормально установился, но SynUniEdit нету (да и вообще, установились те же компоненты, что и раньше)

Там на странице "SynEdit" должен появиться один единственный класс-компонент "SynUniSyn" (он собственно и есть UniHighlighter). Это подсветка, которую можно подключить к SynEdit user posted image

Цитата(EG0 @ 20.1.2006, 09:39 Найти цитируемый пост)
создать класс раскраски, но только чтобы он имел функцию LoadFromFile (не тот, что сейчас у них) и таким образом чтобы можно было загружать hgl ....

Гм... Не очень тебя понял... user posted image
Ведь сейчас у нашего компонента (UniHighlighter) таки есть метод LoadFromFile, который и загружает подсветку из hgl-файла. Он чем-то не устраивает? user posted image

Автор: EG0 20.1.2006, 19:21
Цитата

Ведь сейчас у нашего компонента (UniHighlighter) таки есть метод LoadFromFile, который и загружает подсветку из hgl-файла. Он чем-то не устраивает?


не знаю =) я его просто не видел, говорю же, не установилось у меня smile

Цитата

ам на странице "SynEdit" должен появиться один единственный класс-компонент "SynUniSyn" (он собственно и есть UniHighlighter). Это подсветка, которую можно подключить к SynEdit


установился стандартный набор SynEdit, сегодня еще раз попробую, если не получиться - значит не судьба
smile

Автор: Vitalik 20.1.2006, 23:24
Цитата(EG0 @ 20.1.2006, 18:21 Найти цитируемый пост)
установился стандартный набор SynEdit, сегодня еще раз попробую, если не получиться - значит не судьба

Если не получится, то будем разбираться user posted image

Автор: Uruzc 7.4.2006, 06:09
А я вот старый SynUniHighlighter поставил(который из 3 файлов скачал на www.delphist.com), а новые чё-то не в какую.

Автор: Vitalik 22.4.2006, 02:13
Цитата(Uruzc @  7.4.2006,  05:09 Найти цитируемый пост)
а новые чё-то ни в какую.

А что они при этом говорят?..  

Автор: ujin78 27.4.2006, 23:54
Всем привет! Помогите пожалуйста!!! Надо поставить SynUniHighlighter под BCB 5
Пытаюсь ставить unihighlighter 2.0.a.full на synedit 2.02.b. Делаю всё по указанным выше советам, дошёл до
Цитата(ppp Дата 7.11.2005 @  11:26 )

При компилировании на самом последнем SynUniHighlighter выскакивает на Variants.dcu
мол нет такого файла.

Дальше ничего не получается... Помогите пожалуйста!!! Мне в принципе всё равно какой версии unihighlighter и synedit, но ставить надо на ВСВ 5! 

Автор: Uruzc 12.6.2006, 15:36
Цитата

А что они при этом говорят?..   

А вообще ничего не говорят. Отключаю коде фолдинг. Ставлю никаких ошибок все нормально но нет компонента нигде вообще. Пакет ставиться и компилируется, а компонент не прописывается нигде.
Может быть попробуете завести установщик(со встроенной распаковкой на всякий случай). 

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