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


Автор: EGO 11.12.2005, 19:21
Люди, помогите! smile Не могу я использовать SynEdit на BCB 6, компонент установил, но там постоянно ошибки вылетают

вытаскиваю SynEdit1, задаю ему, к примеру, SynCppSyn1.

ошибки:
строка:
__property AnsiString LanguageName = {read=GetLanguageName};
[C++ Error] SynEditHighlighter.hpp(161): E2347 Parameter mismatch in read access specifier of property LanguageName
строка:
__property TSynHighlighterCapabilities Capabilities = {read=GetCapabilities, nodefault};
[C++ Error] SynEditHighlighter.hpp(164): E2347 Parameter mismatch in read access specifier of property Capabilities


Автор: Vitalik 11.12.2005, 21:13
Гм... Я точно не помню, но в своё время я кажись избавился от этого простым комментированием этих двух строк в hpp файлах...
Наверняка есть более достойное решение smile

Какую версию SynEdit устанавливаешь?
В последних версиях такого глюка не наблюдается...

Автор: Vitalik 11.12.2005, 22:16
Ага, нашёл... По ходу ты пробуешь установить версию SynEdit 1.1 stable, или близкую к ней.

Попробовал, проверил, и вспомнил более правильное решение. Нужно просто напросто заменить строки:
Цитата
132. /* virtual class method */ virtual TSynHighlighterCapabilities __fastcall GetCapabilities(TMetaClass* vmt);
133. /* virtual class method */ virtual AnsiString __fastcall GetLanguageName(TMetaClass* vmt);
на следующие:
Цитата
132. /* virtual class method */ virtual TSynHighlighterCapabilities __fastcall GetCapabilities();
133. /* virtual class method */ virtual AnsiString __fastcall GetLanguageName();

Автор: Guest 11.12.2005, 23:10
Vitalik эта проблема исчезла, спасибо огромное!!!!

правда, так и не удалось мне запустить приложение... буду ломать голову smile

Автор: EG0 19.1.2006, 13:08
ох.. поставил версию Syn Edit 2.0.2 (вроде так) и все заработало нормально smile

однако, вот ведь проблема, в этом компоненте можно только использовать заранее определенные классы.

скажите, а UniHighlighter есть для BCB? или, может быть, у кого-нибудь есть заготовка класса подсветки для С++ ?


ps вообще говоря, у меня складывается впечатление, что у SynEdit и многих похожих компонентов аллергия на Си, или это дискриминация по языковому типу smile =)

нет, правда, ни примеров, ни заготовок для Си, все только для Дельфи smile

Автор: Vitalik 19.1.2006, 17:34
Цитата(EG0 @ 19.1.2006, 12:08 Найти цитируемый пост)
скажите, а UniHighlighter есть для BCB?

Ты имеешь ввиду можно ли установить компонент UniHighlighter на C++Builder'е?
Можно, http://forum.vingrad.ru/index.php?showtopic=60080 (только одно замечание: LibXmlParser для UniHighlighter 2.0 не нужен)

Цитата(EG0 @ 19.1.2006, 12:08 Найти цитируемый пост)
или, может быть, у кого-нибудь есть заготовка класса подсветки для С++ ?

Для того, чтобы написать свой класс подсветки, но на C++, а не на Delphi? А зачем?..

Если можешь, расскажи подробнее, что за подсветка тебе нужна и для чего? smile

Автор: EG0 19.1.2006, 22:34
Vitalik ну я чат делаю, хотелось бы выделить ключевые слова, смайлы, команды

+ свой скриптовый движок делаю, там у меня синтаксис свой... вооот... нужна своя подсветка.
В принципе,я делал уже подсветку для плагина total commandera (думаю, там как раз UniHighlighter)

Автор: Vitalik 20.1.2006, 15:09
Цитата(EG0 @ 19.1.2006, 21:34 Найти цитируемый пост)
В принципе,я делал уже подсветку для плагина total commandera

Не http://wincmd.ru/plugring/synplus.html ли случайно? smile

Цитата(EG0 @ 19.1.2006, 21:34 Найти цитируемый пост)
(думаю, там как раз UniHighlighter)

Совершенно верно user posted image

Цитата(EG0 @ 19.1.2006, 21:34 Найти цитируемый пост)
+ свой скриптовый движок делаю, там у меня синтаксис свой... вооот... нужна своя подсветка.

Кстати, можешь выложишь свою подсветку на http://unihighlighter.com/index.php?download=highlighters. А то я давно уже сделал возможность выкладывания подсветок, но так пока никто и не решился... smile

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