Страницы

воскресенье, 28 февраля 2010 г.

RxLib 2.7.7.5 доступна на sf.net. И пара слов о сборках для D2009.

RxLib 2.7.7.5 доступна для скачивания на SourceForge.net. Эта версия включает около 20 исправлений, сделанных psa1974. Также были отформатированы исходники. Полный список исправлений доступен в файле ReadMe_rus_psa1974.txt.

Пара слов о существующих сборках.

На данный мне известны 3 версии RxLib с поддержкой юникода:

суббота, 27 февраля 2010 г.

А Вы хорошо знаете календарь в Windows?

Меня по работе несколько раз просили заменить стандартный TDateTimePicker на RxLib-овский, потому в стандартном якобы неудобно менять год. Как оказалось, просившие не знали об одном свойстве стандартного календаря.

Знаете ли вы, что если кликнуть по заголовку календаря, там где год и месяц, то календарь позволит выбрать месяц. А если кликнуть ещё раз, то можно будет выбрать год из текущего десятилетия. А если ещё раз, то можно будет выбрать десятилетие, при этом стрелки сверху будут менять столетия. Проверял в Windows XP и Vista.

То же самое будет если нажать Ctrl + стрелка вверх/вниз.

Календарь - выбор числа

Календарь - выбор месяца

Календарь - выбор года Календарь - выбор столетия

А ещё, TDateTimePicker не позволяет выбрать дату до 14 сентября 1752 года. А вот компонент TjvDateEdit из бесплатной библиотеки JVCL такого ограничения не имеет.

пятница, 19 февраля 2010 г.

Выложил программку, использовавшуюся для сравнения Rx и JVCL компонентов

Выложил программку, использовавшуюся для сравнения свойств и методов Rx и JVCL компонентов. Если кто-то захочет продолжить эксперимент, или просто посмотреть, что и как можно сделать с помощью RTTI в Delphi 2010.

Примечание: скомпилируется только в Delphi 2010 и только, если у вас установлены RxLib и JVCL.

Программка состоит из 3-х юнитов:

  • uRxJvComponents.pas - содержит список классов Rx и JVCL компонентов. Составление этого списка было самой неприятной частью работы и заняло больше всего времени.
  • uCompareClasses.pas - класс отвечающий за сравнение Rx и JVCL компонентов.
  • RxJvCompareMainFormU.pas - главная форма. Умеет запускать сравнение, и отображать результат выполнения в текстовом формате и в html.

Скачать: Rx and Jvcl Compare util.zip с сайта LazyProject.info

четверг, 18 февраля 2010 г.

Переход с RxLib на JVCL в деталях. Список пропавших свойств и методов Rx-компонентов.

Вчера в комментарии прозвучала мысль, что предыдущий пост об отличиях компонентов RxLib от JVCL даёт только поверхностный взгляд на изменения в компонентах. Ну что же, вот полный список всех public и published свойств и методов, которые пропали в JVCL-контролах. Для каждого компонента.

Ante Scriptum: Мне положительно нравится новое RTTI в Delphi 2010. =)

Примечание: некоторые свойства и методы, на самом деле остались и в JVCL-версии, но были переименованы, либо у них изменились названия типов в параметра (я сравнивал методы по полным названиям). Однако, программка делающая сравнение с помощью RTTI, вывела в список и их.

вторник, 16 февраля 2010 г.

Переход с RxLib на Jvcl. Какие изменения?

Это материал для тех, кто ещё использует библиотеку RxLib и рассматривает возможность перехода на юникод. В 2002-году библиотека RxLib была официально включена в состав JVCL. В JVCL есть утилита для быстрой замены всех Rx компонентов, функций и юнитов на JVCL-версии. См. пост Jvcl Dev Tools: JvclConvert.

Почему стоит перейти на JVCL:

  1. В отличие от RxLib, JVCL развивается. Ошибки исправляются. Регулярно выходят версии с поддержкой новых версий Delphi.
  2. JVCL контролы поддерживают новые версии Windows и Windows-стили.

В этом посте перечислены все Rx компоненты. Для каждого указан соответствующий Jvcl компонент, package, и краткий список отличий.

среда, 10 февраля 2010 г.

JVCL dev tools

JVCL содержит несколько приятных утилит, способных упростить разработку библиотек компонентов. Эти утилиты находятся в папке JVCL\devtools. Большая часть из них работает из командной строки. Большинство утилит описаны в файле devtools.txt. Этот пост является частичным переводом того файла с комментариями.

Наиболее интересным является JVCLConvert, позволяющий легко перейти с использования RxLib на JVCL. Также, разработчику библиотек может быть интересен PackagesGenerator позволяющий создавать по шаблону файлы проектов и групп проектов для разных версий Delphi (PackagesGenerator не описан в devtools.txt и я с ним тоже не разбирался).

Чтобы скомпилировать утилиты нужно запустить CompileDevTools.bat. Однако, если у вас на компьютере установлено несколько версий Delphi, то лучше скомпилировать их вручную в IDE, открыв группу проектов devtools.bpg. При использовании DFMCleaner я столкнулся с ситуацией, когда преобразованная форма отказалась читаться в Delphi6. Я не исследовал причину, но подозреваю что это случилось из-за того, что DFMCleaner был скомпилирован компилятором от Delphi 2010. После перекомпиляции вручную в Delphi 6, всё заработало должным образом.

воскресенье, 7 февраля 2010 г.

RxLib для Delphi 6-2010 доступна для скачивания

Доступна для скачивания библиотека RxLib (2.7.7.4) с поддержкой Delphi 2009 и 2010.

Эта версия основана на последней ревизии в репозитории проекта на sf.net. Плюс к ней были применены изменения, которые сделал psa_1974 для поддержки юникода. Те, кто уже использует версию от psa_1974, могут не обновляться - там то же самое.

В данный момент все компоненты библиотеки RxLib включены в JVCL. А развитие RxLib фактически заморожено. В JVCL даже есть удобный инструмент для замены Rx-компонентов, функций и юнитов на JVCL-аналоги. И даже лучше переходить на JVCL-версию, так как она имеет поддержку тем Windows, плюс некоторые компоненты были существенно дополнены.

Скачать можно на официальной странице RxLib в SourceForge:

http://sourceforge.net/projects/rxlib/files/

п.с. В скором времени я буду переводить несколько проектов с RxLib на JVCL и напишу пост о переходе. А также о разнице между Rx и JVCL версиями.

понедельник, 1 февраля 2010 г.

Описание JVCL-контролов: закладка Jv Edits

image   JVCL – бесплатная библиотека с открытым исходным кодом, которую можно использовать в ПО с закрытым исходным кодом по лицензии MPL1.1, так и в свободном ПО.

Стоит помнить, что если вы найдёте ошибку (а поработав с этими компонентами вплотную, вы наверняка найдёте не одну недоработку), то не стоит о ней умалчивать. Вы действительно поможете Delphi-сообществу, записав отчёт об ошибке и приложив к нему небольшую программу, иллюстрирующую ошибку в баг-трекере Jedi.

Также, помните о том, что для большинства компонент доступны программы-примеры. Они находятся в папке JVCL\Examples.

Из всех контролов это закладки, мне были интересны только TjvFilenaneEdit, TjvDirectoryEdit, TjvRichEdit и TjvHLEditor (подсветка синтаксиса в Delphi). Тем, кто использует неюникодную версию Delphi может быть интересен TjvHLWideEditor (редактор с подсветкой синтаксиса, поддерживающий юникод).