![]() |
Модераторы: Vitalik |
![]() ![]() ![]() |
|
CyberManiac |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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. Однако, примеров надо. Без них половину возможностей компонента можно вооще не увидеть и не понять. И желательно примеры в виде практических шаблонов: как подсвечивать обычные числа, как - шестнадцатиричные, как - строки ну и т.д. |
|||
|
||||
Vitalik |
|
||||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Ответ здесь:
Подробнее, пожалуйста ![]()
Ну это не совсем так ![]() Разработчик CodeFolding'а (свёртывания кода) - один из разработчиков SynEdit'а. А сам CodeFolding появится в основных версиях SynEdit'а, когда станет безглючно работать ![]()
Согласен. Тут осечка вышла... Но особенности инсталляции я описал на сайте компонента: www.unihighlighter.com/index.php?showpage=install В следующей версии обязательно включим это readme.txt ![]()
Только VirtualTreeView для дизайнера ![]()
Гм... Будем разбираться... На каких подсветках проявлялся такой глюк?..
Тут я с тобой согласен ![]() У нас с Quadr0 возникло небольшое разногласие по поводу использования этого компонента в дизайнере... С одной стороны, компонент очень мощный, обеспечивает дополнительные возможности, с ним легче и удобнее работать. С другой стороны, он всё-таки нестандартный, большинство его возможностей не используется и размер exe зря увеличивается. И действительно самым большим минусов является то, что с ним приходится дополнительно возиться... Как вариант мирного решения данного разногласия - фреймовая структура дизайнера с возможностью быстрой замены небольшой составляющей дизайнера - фрейма (например, панели с TreeView на VirtualTreeView) с сохранением всей логической структуры и реализации дизайнера ![]()
Основные возможности можно почитать на сайте компонента, здесь: www.unihighlighter.com/index.php?showpage=synrools Пример подсветки включающей все описанные возможности можно найти там же или скачать напрямую: www.unihighlighter.com/files/highlighters/Readme.hgl И описание, и подсветка приведены для версии 1.8, но с успехом могут использоваться и для версии 2.0a. В последней разве что добавлены мультитеги. CyberManiac, большое спасибо за первый отзыв о нашей альфе! ![]() |
||||||||||||||||||
|
|||||||||||||||||||
Paul S. |
|
|||
Unregistered |
Здравствуйте. Заметил интересный глюк с обычным TSynEdit и UniHighlighter 2.0a. Имеем на форме - синэдит, хайлайтер, SynEdit.Highlighter = UniHighlighter. WordWrap = True. Жмем F9, вставляем в синэдит по ctrl+v текст (желательно войну мир или иже с ними - где куча переносов строк), или загружаем - видим глючной вордврап (переносы посреди слов и тд). Копаемся в исходниках синэдита, видим такой интересный код:
В проекте делаем все тоже самое - ресайзим форму (ака синэдит) - ворд врап в норме. Убираем у синэдита хайлайтер - запускаем, опять же проделываем все тоже самое (вставка, загрузка текста) - все ок. Вывод - глючит хайлайтер. P.S: Извиняюсь что не пошел далее, времени нету отлавливать. P.S: Сори, мой идиотский стиль транслитерации. |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
||||
|
||||
Paul S. |
|
|||
Unregistered |
Мое почтение
![]() Файлы доступны до 2 ноября. При загрузке текста, окно не трогаем - http://webfile.ru/594813. После ресайза окна - http://webfile.ru/594815. Вроде глюк налицо, особенно бросается перенос слова "кораблях" ![]() |
|||
|
||||
CyberManiac |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.10.2005 Репутация: нет Всего: нет |
Project|Options...|Directories/Conditionals, в поле "Conditional defines" можно вписать все нужные DEFINE, причем они будут видимы глобально в рамках всего проекта - так ими удобней манипулировать, чем в исходных текстах. Эта же вкладка открывается кнопкой Options после открытия .dpk-файлов при сборке компонента на основе dpk.
Он не на подсветках проявляется, он проявляется в дизайнере сразу же при запуске, когда ни одной подсветки даже не загружено. То же самое и с удалением Range'й - какую бы подсветку я ни создал, при удалении из нее хоть одного Range вываливается исключение. |
||||
|
|||||
Vitalik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Прикольная вещь! Не знал ![]() Но, наверное, в данном случае немного не подходит... Ведь добавив таким образом DEFINE в dpk-пакет мы заданим его только при установке. Т.о. если нужно будет поменять значение этой опции, то нужно будет рекомпилить пакет... Так же небольшим неудобством является то, что оно пихает эту директиву в dof-файл... Ну и, наконец, на самом деле эта опция должна юзаться и во всех демках, чтобы демки могли компилиться на разных вариантах сборки SynEdit+SynUni. В этом смысле использование одного файла с предопределёнными Define'ами получается очень удобным ;)
И действительно... Когда же этот баг успел появиться... ![]() |
||||
|
|||||
CyberManiac |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.10.2005 Репутация: нет Всего: нет |
История с Access violation получила продолжение: попробовал запустить дизайнер на домашней машине с WinXP - все работало корректно. Более того, с удивлением обнаружил, что при запуске по умолчанию создается пустая подсвется с двумя элементами в TreeView (на 2000 при запуске TreeView был абсолютно пуст). Не поленился перегрузиться в Win98 - оба глюка вернулись, в TreeView - пустота, кроме того, изменился внешний вид дизайнера: исчезла градиентная закраска (в Win2000 ее тоже не было). В общем, советую протестировать дизайнер в Win2000 или 98 - все, о чем я пишу, сразу и вылезет.
|
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:26 |
|||
|
||||
Paul S. |
|
|||
Unregistered |
А как же я?
![]() |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:26 |
|||
|
||||
Paul S. |
|
|||
Unregistered |
Здравствуйте ![]() Уже думал об этом, что по идее должны все подсветки глючить. Ок. Взял подсветку html, присвоил - глюка не обнаружено. Придется копнуть еще глубже, по мере возможности постараюсь сообщать о результатах раскопок. С уважением ![]() |
|||
|
||||
markowww |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.2.2003 Где: В Вологде-где Репутация: нет Всего: нет |
Я не обнаружил во второй альфе возможность подсветки ключевых слов с учетом регистра.
Помнится в 1.8 такая возможность была. |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
markowww, на сколько мне известно, эта возможность осталась.
"Case sensitive" у правила-диапазона (Range) задаёт режим учёта регистра для всех подправил. Возможно было бы интересно сделать возможность задания "Case sensitive" для каждого списка ключевых слов в отдельности?.. ![]() |
|||
|
||||
markowww |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.2.2003 Где: В Вологде-где Репутация: нет Всего: нет |
Хм. Мне нужно чтобы во всем тексте слово, к примеру, BEGIN подсвечивалось, а begin - нет. С возможностью Case Sensitive для отдельного списка это легко ;) А вот с Range как такое сделать, что-то я не понимаю.
Я конечно не совсем уверен (а проверять слишком долго ![]() И извиняюсь, что в одном посте: при использовании Сopy/Paste на узлах дерева в дизайнере возникает Access Violation. |
||||
|
|||||
Vitalik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Просто у корневого "диапазона" (Root) есть такое же свойство ![]() В новой версии это называется 'Syntax Coloring'. Устанавливаешь у него 'Case sensitive' и всё будет как надо ![]()
Подробнее плиз ![]() Какая подсветка, какие узлы копируешь, куда вставляешь?.. ![]() |
||||
|
|||||
markowww |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.2.2003 Где: В Вологде-где Репутация: нет Всего: нет |
Мда. Лопух. Не заметил ;) Но все таки, я думаю, логичнее будет сделать это свойство у каждого правила с наледованием от родителя по умолчанию. Мне просто в голову не пришло посмотреть в Syntax Coloring. ;) Теперь по поводу Copy/Paste: 1. Ошибка при копировании узла дерева, в поддерево, где уже существует узел с таким именем. Вываливается сразу по команде Paste. 2. Если поддерево (Range) не содержало узал с таким же именем или было пусто, то копирование завершается, но при попытке раскрыть (Expand) это поддерево, тоже вываливается Access Violation. |
|||
|
||||
Paul S. |
|
|||
Unregistered |
Глюк вроде прикрыл, пришлось поправить SynEdit:
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |