Модераторы: Vitalik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Свежие баги и пожелания, Про альфа-версию UniHighlighter 2.0 
:(
    Опции темы
CyberManiac
Дата 24.10.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 24.10.2005

Репутация: нет
Всего: нет



С ходу нашел в альфе 2.0 следующее:

1. С трудом собирается с SynEdit 2.02b с офсайта - пришлось руками вырезать IFDEF'нутые блоки, отвечающие за схлопывание блоков. Если где-то в недрах есть соответствующий DEFINE, то есть смысл вынести его в свойства проекта - его оттуда удалить будет проще. Модифицированный компонент ставить не тянет, т.к. он не поддерживается разработчиками SynEdit со всеми вытекающими, а схлопывание блоков мне ни к чему. Если есть более прямой способ сборки, хорошо бы положить в комплект Readme.txt, как это сделать. И заодно туда же прописать, что для сборки нужны инет-компоненты.
2. Тулза для редактирования описаний синтаксиса злобно глючит: вываливает 2-3 access violation по адресу 00000000 при запуске и еще по столько же при каждом переключении на другую задачу и обратно по Alt-Tab. Скорее всего, какая-то муть затесалась в OnShow.
3. Та же тулза при попытке удалить Range сообщает об исключении, при попытке закрыть окно с исключением выдает следующее такое же и так до тех пор, пока не будет убит процесс. Последние два глюка совершенно не зависят от того, каким способом собирался редактор подсветок: вручную или запущен заранее скомпилированный из архива.
4. А нужен ли вообще VirtualTreeView? Возни с его установкой много, а пользы в сравнении со стандартным - мало.
5. Однако, примеров надо. Без них половину возможностей компонента можно вооще не увидеть и не понять. И желательно примеры в виде практических шаблонов: как подсвечивать обычные числа, как - шестнадцатиричные, как - строки ну и т.д.
PM MAIL   Вверх
Vitalik
Дата 25.10.2005, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(CyberManiac @ 24.10.2005, 19:16)
1. С трудом собирается с SynEdit 2.02b с офсайта - пришлось руками вырезать IFDEF'нутые блоки, отвечающие за схлопывание блоков.

Ответ здесь:
Цитата(http)
Если вы не используете SynEdit из MyStix (который с поддержкой CodeFolding), то нужно закоментировать директиву {$DEFINE CODEFOLDING} в файле SynUniHighlighter.inc


Цитата(CyberManiac @ 24.10.2005, 19:16)
Если где-то в недрах есть соответствующий DEFINE, то есть смысл вынести его в свойства проекта - его оттуда удалить будет проще.

Подробнее, пожалуйста smile

Цитата(CyberManiac @ 24.10.2005, 19:16)
Модифицированный компонент ставить не тянет, т.к. он не поддерживается разработчиками SynEdit со всеми вытекающими

Ну это не совсем так smile
Разработчик CodeFolding'а (свёртывания кода) - один из разработчиков SynEdit'а. А сам CodeFolding появится в основных версиях SynEdit'а, когда станет безглючно работать smile

Цитата(CyberManiac @ 24.10.2005, 19:16)
Если есть более прямой способ сборки, хорошо бы положить в комплект Readme.txt, как это сделать.

Согласен. Тут осечка вышла...
Но особенности инсталляции я описал на сайте компонента: www.unihighlighter.com/index.php?showpage=install
В следующей версии обязательно включим это readme.txt smile

Цитата(CyberManiac @ 24.10.2005, 19:16)
И заодно туда же прописать, что для сборки нужны инет-компоненты.

Только VirtualTreeView для дизайнера smile

Цитата(CyberManiac @ 24.10.2005, 19:16)
2. Тулза для редактирования описаний синтаксиса злобно глючит: вываливает 2-3 access violation по адресу 00000000 при запуске и еще по столько же при каждом переключении на другую задачу и обратно по Alt-Tab. Скорее всего, какая-то муть затесалась в OnShow.
3. Та же тулза при попытке удалить Range сообщает об исключении, при попытке закрыть окно с исключением выдает следующее такое же и так до тех пор, пока не будет убит процесс. Последние два глюка совершенно не зависят от того, каким способом собирался редактор подсветок: вручную или запущен заранее скомпилированный из архива.

Гм... Будем разбираться...
На каких подсветках проявлялся такой глюк?..

Цитата(CyberManiac @ 24.10.2005, 19:16)
4. А нужен ли вообще VirtualTreeView? Возни с его установкой много, а пользы в сравнении со стандартным - мало.

Тут я с тобой согласен smile
У нас с Quadr0 возникло небольшое разногласие по поводу использования этого компонента в дизайнере...
С одной стороны, компонент очень мощный, обеспечивает дополнительные возможности, с ним легче и удобнее работать.
С другой стороны, он всё-таки нестандартный, большинство его возможностей не используется и размер exe зря увеличивается.
И действительно самым большим минусов является то, что с ним приходится дополнительно возиться...
Как вариант мирного решения данного разногласия - фреймовая структура дизайнера с возможностью быстрой замены небольшой составляющей дизайнера - фрейма (например, панели с TreeView на VirtualTreeView) с сохранением всей логической структуры и реализации дизайнера smile Но об этом нужно поговорить отдельно...

Цитата(CyberManiac @ 24.10.2005, 19:16)
5. Однако, примеров надо. Без них половину возможностей компонента можно вооще не увидеть и не понять. И желательно примеры в виде практических шаблонов: как подсвечивать обычные числа, как - шестнадцатиричные, как - строки ну и т.д.

Основные возможности можно почитать на сайте компонента, здесь: www.unihighlighter.com/index.php?showpage=synrools
Пример подсветки включающей все описанные возможности можно найти там же или скачать напрямую: www.unihighlighter.com/files/highlighters/Readme.hgl
И описание, и подсветка приведены для версии 1.8, но с успехом могут использоваться и для версии 2.0a. В последней разве что добавлены мультитеги.

CyberManiac, большое спасибо за первый отзыв о нашей альфе! smile

PM MAIL WWW ICQ YIM   Вверх
Paul S.
Дата 25.10.2005, 18:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте. Заметил интересный глюк с обычным TSynEdit и UniHighlighter 2.0a. Имеем на форме - синэдит, хайлайтер, SynEdit.Highlighter = UniHighlighter. WordWrap = True. Жмем F9, вставляем в синэдит по ctrl+v текст (желательно войну мир или иже с ними - где куча переносов строк), или загружаем - видим глючной вордврап (переносы посреди слов и тд). Копаемся в исходниках синэдита, видим такой интересный код:

Код
procedure TCustomSynEdit.Resize;
begin
  inherited Resize;
  SizeOrFontChanged(FALSE);
end;


В проекте делаем все тоже самое - ресайзим форму (ака синэдит) - ворд врап в норме. Убираем у синэдита хайлайтер - запускаем, опять же проделываем все тоже самое (вставка, загрузка текста) - все ок. Вывод - глючит хайлайтер.

P.S: Извиняюсь что не пошел далее, времени нету отлавливать.
P.S: Сори, мой идиотский стиль транслитерации.
  Вверх
Vitalik
Дата 25.10.2005, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Paul S., в чём именно проявляются глюки WordWrap?
Какая версия SynEdit используется, какие подсветки загружаются в UniHighlighter?

У меня всё работает как часы...
Если не сложно выложи где-нибудь или прикрепи здесь скриншот с глюком --Resize_Images_Alt_Text--

Спасибо! smile
PM MAIL WWW ICQ YIM   Вверх
Paul S.
Дата 26.10.2005, 00:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мое почтение smile

Файлы доступны до 2 ноября. При загрузке текста, окно не трогаем - http://webfile.ru/594813. После ресайза окна - http://webfile.ru/594815. Вроде глюк налицо, особенно бросается перенос слова "кораблях" smile . Версия SynEdit - 2.02b. Никакие подсветки не загружаются.
  Вверх
CyberManiac
Дата 26.10.2005, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 24.10.2005

Репутация: нет
Всего: нет



Цитата(Vitalik @ 25.10.2005, 00:34)
Подробнее, пожалуйста

Project|Options...|Directories/Conditionals, в поле "Conditional defines" можно вписать все нужные DEFINE, причем они будут видимы глобально в рамках всего проекта - так ими удобней манипулировать, чем в исходных текстах. Эта же вкладка открывается кнопкой Options после открытия .dpk-файлов при сборке компонента на основе dpk.

Цитата(Vitalik @ 25.10.2005, 00:34)
Гм... Будем разбираться...
На каких подсветках проявлялся такой глюк?..

Он не на подсветках проявляется, он проявляется в дизайнере сразу же при запуске, когда ни одной подсветки даже не загружено. То же самое и с удалением Range'й - какую бы подсветку я ни создал, при удалении из нее хоть одного Range вываливается исключение.
PM MAIL   Вверх
Vitalik
Дата 26.10.2005, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(CyberManiac @ 26.10.2005, 08:45)
Project|Options...|Directories/Conditionals, в поле "Conditional defines" можно вписать все нужные DEFINE, причем они будут видимы глобально в рамках всего проекта - так ими удобней манипулировать, чем в исходных текстах. Эта же вкладка открывается кнопкой Options после открытия .dpk-файлов при сборке компонента на основе dpk.

Прикольная вещь! Не знал smile
Но, наверное, в данном случае немного не подходит... Ведь добавив таким образом DEFINE в dpk-пакет мы заданим его только при установке. Т.о. если нужно будет поменять значение этой опции, то нужно будет рекомпилить пакет...
Так же небольшим неудобством является то, что оно пихает эту директиву в dof-файл...
Ну и, наконец, на самом деле эта опция должна юзаться и во всех демках, чтобы демки могли компилиться на разных вариантах сборки SynEdit+SynUni.
В этом смысле использование одного файла с предопределёнными Define'ами получается очень удобным ;)

Цитата(CyberManiac @ 26.10.2005, 08:45)
То же самое и с удалением Range'й - какую бы подсветку я ни создал, при удалении из нее хоть одного Range вываливается исключение.

И действительно... Когда же этот баг успел появиться... smile


PM MAIL WWW ICQ YIM   Вверх
CyberManiac
Дата 26.10.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 24.10.2005

Репутация: нет
Всего: нет



История с Access violation получила продолжение: попробовал запустить дизайнер на домашней машине с WinXP - все работало корректно. Более того, с удивлением обнаружил, что при запуске по умолчанию создается пустая подсвется с двумя элементами в TreeView (на 2000 при запуске TreeView был абсолютно пуст). Не поленился перегрузиться в Win98 - оба глюка вернулись, в TreeView - пустота, кроме того, изменился внешний вид дизайнера: исчезла градиентная закраска (в Win2000 ее тоже не было). В общем, советую протестировать дизайнер в Win2000 или 98 - все, о чем я пишу, сразу и вылезет.
PM MAIL   Вверх
Quadr0
Дата 30.10.2005, 12:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:26
  Вверх
Paul S.
Дата 30.10.2005, 13:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А как же я? smile
  Вверх
Quadr0
Дата 30.10.2005, 16:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:26
  Вверх
Paul S.
Дата 30.10.2005, 23:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Quadr0 @ 30.10.2005, 16:45)
Paul S., а как это может быть из-за нашего компонента? SynUni - наследник TCustomHighlighter и не более. Раз уж на то пошло, то глючить должны все подсветки, а не наша одна. Проверь на других плиз. smile
P.s.
Это ты в Пиратов Карибского моря играешь? Молодца, хорошая гама smile

Здравствуйте smile

Уже думал об этом, что по идее должны все подсветки глючить. Ок. Взял подсветку html, присвоил - глюка не обнаружено. Придется копнуть еще глубже, по мере возможности постараюсь сообщать о результатах раскопок.

С уважением smile
  Вверх
markowww
Дата 12.11.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 27.2.2003
Где: В Вологде-где

Репутация: нет
Всего: нет



Я не обнаружил во второй альфе возможность подсветки ключевых слов с учетом регистра.
Помнится в 1.8 такая возможность была.
PM MAIL   Вверх
Vitalik
Дата 14.11.2005, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



markowww, на сколько мне известно, эта возможность осталась.
"Case sensitive" у правила-диапазона (Range) задаёт режим учёта регистра для всех подправил.

Возможно было бы интересно сделать возможность задания "Case sensitive" для каждого списка ключевых слов в отдельности?..
smile
PM MAIL WWW ICQ YIM   Вверх
markowww
Дата 15.11.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 27.2.2003
Где: В Вологде-где

Репутация: нет
Всего: нет



Цитата(Vitalik)
markowww, на сколько мне известно, эта возможность осталась.
"Case sensitive" у правила-диапазона (Range) задаёт режим учёта регистра для всех подправил.


Хм. Мне нужно чтобы во всем тексте слово, к примеру, BEGIN подсвечивалось, а begin - нет. С возможностью Case Sensitive для отдельного списка это легко ;) А вот с Range как такое сделать, что-то я не понимаю.

Цитата(Vitalik)
Возможно было бы интересно сделать возможность задания "Case sensitive" для каждого списка ключевых слов в отдельности?..


Я конечно не совсем уверен (а проверять слишком долго smile ), что в 1.8 было что-то такое. По крайней мере, мой старый проект, написанный с использованием, 1.8 справлялся с поставленной задачей только за счет Keyword List.

И извиняюсь, что в одном посте: при использовании Сopy/Paste на узлах дерева в дизайнере возникает Access Violation.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.1360 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.