![]() |
Модераторы: Vitalik |
![]() ![]() ![]() |
|
ActioN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
Пытаюсь установить SynMix. Вот что я делаю:
1. Скачал последний SynMix.rar (Размер: 399 Кб (409 501 байт) 2. Распаковал файлы из архива в отдельную папку 3. Также распаковал файлы из архива UniHighlighter20b3ful.rar (Размер: 965 КБ (988 908 байт)) с папки Source в папку Source распакованного архива SynMix.rar 4. Отредактироват SynEditReg.pas 5. Установил компоененты. Все прошло успешно, но вот не все работает корректно. a) Не работает CodeFolding. Установил CodeFolding->Enabled = true, отредактировал hgl файл менеджером подсветок версии 2.0, добавил правила подсветки для CodeFolding. Но тут еще интересное - у SynEdit'a нету свойства CodeFolding->Initialize(); б) Не сохраняются в файл dfm параметры ветки CodeFolding компоненты SynEdit. Может я что-нибудь сделал нетак? Подскажите пожалуйста, как правильно установить SynMix с CodeFolding под BCB6? |
|||
|
||||
Sep. |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
если ты настраиваешь свойства через диспетчер обьектов, то они не запомнятся. По умолчанию в SynEdit свойства CodeFolding вообще не были выведены в диспетчер. В SynMix они выведены просто для того чтобы посмотреть как называются. А задавать их приходится в рантайме. В простейшем случае надо делать так:
Поэтому: 3) лучше я думаю каждый компонент в свою папку распаковывать , мало ли у них какие файлы пересекаются. 4) зачем? 5a) почему CodeFolding->Initialize(); ? 5б) так и есть Весь приведенный выше код уже не раз был на форуме. Виталик выкладывал исходники примеров для CodeFolding. По поводу BCB ничего не могу сказать, но с delphi перевести код надеюсь не сложно =) Удачи и читай форум, ведь даже "гид по форуму" ветка есть. =) Это сообщение отредактировал(а) Sep. - 13.9.2006, 09:33 --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
ActioN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
Спасибо. Щас буду проверять
|
|||
|
||||
ActioN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
Проверил. Теперь все нормально. Во время небольшой проверки работы новых функций заметил несколько неточностей:
1. При удалении в HglEditor НЕ ПОСЛЕДНЕГО itema из списка item'ов ветки CodeFolding'a появляется ошибка "List index out of bounds...". При дальнейшей попытке обратиться к этому же Item'у (после удаления item остаётся) появляется Acces Violation. Если удаляю последний по счету item - ошибки нету. 2. Ключевое слово для открытия CodeFolding'a находится в строке, которая является комментарием. При этом CodeFolding срабатывает, что не есть хорошо. Например есть правило CodeFolding'a в файле подсветки синтаксиса: Open: begin Close: end Type: Keyword
Еще не очень комфортно, что в событии OnChange SynEdit'a происходит перерисовка Gutter'a, который при этом мигает. Но это уже мелочь. В остальном - все красиво и отлично. Спасибо!! Хорошая работа. |
|||
|
||||
Sep. |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
Это уже полу-реализовано =) Нужно раскоментировать мод "//###mod CF-range in comments", но тут есть еще несколько нерешенных проблем. Подробнее можешь прочесть в английской ветке А по поводу багов дизайнера, лучше запость их в соответствующей ветке. А то сейчас модератор прийдет и скажет "один вопрос-одна тема" =) К тому же вначале поставь SynUniHL 2.0b4 и проверь там. --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
ActioN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
А могу ли я как-нибудь узнать индексы строк, по которым куски кода "свернуты" функцией CodeFolding? И можно как-нибудь программно свернуть кусок кода по индексу строки?
|
|||
|
||||
ActioN |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 12.4.2005 Репутация: нет Всего: нет |
А можно как-нибудь узнать полный текст, игнорируя все свернутые части? Если нет - то как же производить сохранение файла? SynEdit->Text возвращает не весь код (удаляет свернутые части).
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |