Как я высказался в той теме "http://www.forum.vingrad.ru/index.php?showtopic=109343", я отвечу на вопросы этой темы здесь, чтобы и так уже огромная та тема сильно не разрасталась 
Цитата(Seldon @ 19.8.2006, 23:57 ) | | 1. зачем в дистрибе лежит SynEdit.inc ? |
Цитата(Seldon @ 25.8.2006, 23:13 ) | | - зачем в дистрибе SynEdit.inc? потому что он юзаецца в SynUniHighlighter.inc? так правильнее будет юзать SynEdit'овский SynEdit.inc т.к. юзер (я например ) мог его изменить. |
Дело в том, что раньше предпринимались попытки сделать exe-шный инсталлятор для компонента. И это в целом удалось сделать (http://unihighlighter.com/index.php?download=56), но тогда пришлось пойти на два не очень приятных момента: 1. Инсталлятор ни в какую не хотел находить SynEdit.inc, поэтому пришлось его скопировать в дистрибутив. 2. Установочные пакеты (*.dpk) должны были быть в папке Delphi, а не Packages.
Поэтому резонный вопрос: нужно ли делать exe-инсталлятор для компонента и стоит ли он того? 
Цитата(Seldon @ 19.8.2006, 23:57 ) | | 2. за что отвечают опции из SynUniHighlighter.inc ? (я конечно догадываюсь, но хотелось бы услышать авторитетное мнение) |
Многое об этих опциях файла SynUniHighlighter.inc можно прочитать на офф. сайте: http://unihighlighter.com/index.php?showpage=install&lang=ru
| Цитата(Особенности установки UniHighlighter 2.0 Alpha) | - Если вы не используете SynEdit из MyStix (который с поддержкой CodeFolding), то нужно закоментировать директиву {$DEFINE CODEFOLDING} в файле SynUniHighlighter.inc
| Код | {$I SynEdit.inc} //{$DEFINE CODEFOLDING} //comment {$DEFINE PROTECTED_ATTRIBUTES} {$DEFINE WRITABLE_ATTRIBUTE_NAME} |
- Чтобы можно было использовать экспорт текста с подсветкой в файлы HTML или RTF нужно "пропатчить" SynEdit. Для этого нужно кое-что поменять в файле SynEditHighlighter.pas:
- в классе TSynCustomHighlighter перенести поле fAttributes: TStringList; из секции private в секцию protected
| Код | TSynCustomHighlighter = class(TComponent) private //fAttributes: TStringList; //remove ...... protected fAttributes: TStringList; //insert |
- в классе TSynHighlighterAttributes добавить для свойства Name возможность записи, то есть заменить его объявление на:
| Код | TSynHighlighterAttributes = class(TPersistent) ...... public ...... property Name: string read fName write fName; |
- Если же по каким-то причинам вы не желаете патчить таким образом SynEdit (хотя от этого он явно не пострадает), то нужно закомментировать две строчки в файле SynUniHighlighter.pas:
| Код | {$I SynEdit.inc} {$DEFINE CODEFOLDING} //{$DEFINE PROTECTED_ATTRIBUTES} //comment //{$DEFINE WRITABLE_ATTRIBUTE_NAME} //comment |
|
| Цитата(Особенности установки UniHighlighter 2.0 Beta1) | - Если вы по какой-то причине не хотите использовать встроенный дизайнер (редактор, SynUniDesigner) для компонента, то нужно закоментировать директиву {$DEFINE INTERNAL_DESIGNER} в файле SynUniHighlighter.inc
| Код | {$I SynEdit.inc} {$DEFINE CODEFOLDING} {$DEFINE PROTECTED_ATTRIBUTES} {$DEFINE WRITABLE_ATTRIBUTE_NAME} {$DEFINE UNIDESIGNER18} //{$DEFINE INTERNAL_DESIGNER} //comment |
- Для выбора используемого дизайнера (1.8 или 2.0) используются директивы {$DEFINE UNIDESIGNER18} и {$DEFINE UNIDESIGNER20} соответственно (нужно использовать только одну из них)
|
|