Все библиотеки описанные на этой странице бесплатные и поставляются с исходниками. Библиотеки доступны по двум лицензиям: Mozilla Public License 1.1 и LGPL. Лицензия MPL позволяет использовать библиотеку в коммерческих проектах с закрытым кодом, а LGPL для использования совместно с GNU GPL кодом.
JCL – это библиотека для Delphi с открытым исходным кодом. JCL расшифровывается как JEDI Code Library. И неспроста она называется именно библиотекой кода, так как содержит только классы, интерфейсы, процедуры, функции и не содержит ни одного компонента.
JVCL – огромная библиотека компонентов для Delphi. JEDI Visual Component Library. Для работы JVCL необходимо наличие установленной библиотеки JCL.
JWSCL – JEDI Windows Security Library. Описание функционала JWSCL по ссылке.
Введение в JCL и JVCL – общее описание проектов, ссылки.
Описание JCL
- Общее описание Jedi Code Library. Общее описание библотеки JCL и её содержимого.
Описание JVCL
- Описание редакторов JVCL (JvEdits). Описание Jv контролов для редактирования информации. (JvPickDate, JvMemo, JvDirectoryEdit, JvFilenameEdit и многих других).
- Описание DB Grid-ов в JVCL. Описание TJvUltimateDbGrid и чем он лучше стандартного TDbGrid.
- Валидаторы в JVCL. Jv Validators. Валидаторы в Delphi. Компоненты для проверки на корректность информации введённой пользователем.
- JvAppFrm package: Компоненты закладки JvApplication, Forms. Описание контролов JvTransparentForm, JvFormMagnet, JvAnimatedIcon, JvAppEvents, встраиваемых форм и других не очень полезных компонентов.
- Описание закладки JvWizard. Создание wizardа в Delphi.
- Невизуальные компоненты JVCL. Описание закладки JvSystem. Работа с буфером обмена, drag and drop, слежение за изменениями на диске, обмен данными с другими экземплярами программы, работа с джойстиком, единый обработчик исключений.
- Описание диалогов в JVCL. JvDialogs. Часть 1. Системные диалоги. – Вызов стандартных диалогов (“Open with..”, “Add printer”, “Find files”, “Computer name”, “Change icon”, “Свойства файла” и других) Windows через JVCL.
- Описание диалогов в JVCL. JvDialogs. Часть 2.
- JVCL dev tools – описание утилит поставляющихся с JVCL.
- JvTimeFramework – делаем органайзер с помощью JVCL (публикации в блоге WebDelphi):
- Органайзер в Delphi. Введение.
- Свойства компонента TjvTFDays.
- Свойства компонента TjvTFDays. Продолжение.
- Методы TjvTFDays для работы с элементами события и областями сетки.
- Методы TjvTFDays: редактирование событий и работа с сеткой.
- Jv TimeFrameWork. Методы TjvTFDays: перемещение по событиям, выделение событий.
Мысли навеянные Delphi-кодингом 2. JCL+JVCL.
Не подскажете как использовать TJvTFGantt. Он вообще визуальный или нет? Даже в справке JVCL Time Framework Runtime Package ничего толкового найти не удалось…
ОтветитьУдалитьАнонимный, спасибо что заметили. Ссылку исправил.
ОтветитьУдалитьНасчёт TJvTFGantt. Я его не исопльзовал, но вот что мне удалось узнать из исходников. Это визуальный компонент, но его нет в палитре компонентов JVCL. Он объявлен в модуле JvTFGantt.pas. Его можно создать в коде. Насколько я понял из свойств, этот компонент позволяет просматривать события из Jv Time Framework в виде Gantt chart. Т.е, события он получает из TJvTFScheduleManager. Как-то так.
У меня JVCL не устанавливается, ругается на отсутствие system.types.dcu. В чем может быть проблема?
ОтветитьУдалитьСложно сказать. Вы не указали ни версию Delphi, ни версию JVCL.
УдалитьВозможные причины:
1) Ошибка с настройками Delphi
2) Ошибка в JVCL
3) Ваша ошибка
Если это JVCL 3.46, то там вроде была проблема в установщике, которая была исправлена в версии 3.47.
Я обычно устанавливаю самую последнюю версию JVCL прямо из SVN. Изредка обновляю и пересобираю.
такая же беда. D7 JVCL 3.47
Удалитья закомментировал строку system.types в GenerateDefines.pas
вроде установилось без ошибок. посмотрим что дальше будет.
Вот то же самое. JVCL 3.47, Delphi XE, батник не запускает инсталлер, ругается на отсутствие system.types.dcu. Перепробовал абсолютно все версии и варианты с sourceforge, не ставится. JCL установлен последний.
УдалитьПро Delphi XE сложно сказать. По идее, там такой ошибки быть не должно.
УдалитьЕсли хочется разобраться с причиной проблемы, то я посоветовал бы:
1) Проверить, не установлена ли на этом же компе более старая версия delphi - быть может установщик собирается в dcc32, которая не поддерживает пространства имён.
2) Если delphi только одна (XE), то проверить что при сборке инсталлера, указано использование пространства имён (namespace) system (ключ -ns"system")
Если хочется просто решить проблему, то можно попробовать сделать так, как описано в предыдущем комментарии. Правда не уверен, что это не вызовет других проблем. :\
Всё просто.
ОтветитьУдалитьоткрываешь GenerateDefines.pas
и меняешь
uses
{$IFDEF HAS_UNIT_TYPES}
System.Types,
на
Types,
и все дела ))
Не ставится jvcl - пишет каждый раз разные ошибки, но все на тему, что собрано не той версией чего-то там
ОтветитьУдалитьБыла, давно еще такая библиотека - Globus Lib, которая то же вошла в состав JVCL. Так вот там был простенький и чудненький компонентик: glSmallFontDeffender (боюсь ошибиться в названии, но смысл понятен). Этот компонентик, размещенный на форме, защищал шрифты формы при масштабировании шрифтов в Windows.
ОтветитьУдалитьЕсли кто не в курсе, на фига это нужно, то я напомню: Очень поганенько выглядит приложение созданное в режиме "маленьких шрифтов", когда оно запускается на компе, где шрифты отмасштабированны. (по крайней мере в XP это было так), да. А вот этот компонентик спасал. Но вот незадача, перерыл я всю эту JVCL, но такого компонента не нашел :-(. Может я просто старенький уже, и типа в подобных фичах нет необходимости теперь? Так вот и собрал я простую формочку на RAD XE7 в W7 с маленькими шрифтами, потом шрифты в системе сделал 125% и формочка поплыла, как и раньше :-(, ну что за ...
Подскажите, пытаюсь установить jcl на XE8 (пробовал и на XE10) не собирается даже инсталлятор.
ОтветитьУдалитьругается на 'TJclWaitResult' and 'TWaitResult' в файле JclInstall.pas(2264)
Это вылечить легко, инсталлятор собрал, но библиотека не компилится.
Версия jcl: JVCL349CompleteJCL27-Build5676
Подскажите, раньше (на XE4) ставил нормально! Что случилось?
Может у вас неполная версия? Trial или какой-ниубудь lite с неработающим dcc32?
УдалитьПопробуйте запустить dcc32 отдельно и посмотреть что он выводит.
А ещё - с таким вопросом лучше писать баг в jcl на github-e
на dcc32 грешить странно... ошибки ведь идут на этапе компиляции, а не после подключения dcu к проекту.
УдалитьЗначит исходники не полные или не верные.
Где взять проверенную библиотеку jcl/jvcl?
Я беру с http://wiki.delphi-jedi.org/index.php?title=JEDI_Code_Library
Я с github-а обычно беру последнюю ревизию.
УдалитьНа XE7 с небольшими правками поставил.
ОтветитьУдалитьЧёр знает что.
По исходникам jcl/jvcl активно используются директивы условной компиляции, например
{IFDEF BDE}
Как/где посмотреть, текущее состояние на момент компиляции любой такой переменной?
.inc файлы же. Всё в них. Если ставить через JCL/JVCL установщик, то этот установщик создаёт .inc файлы из шаблона для выбранных версий Delphi.
УдалитьНо ведь используются не только создаваемые jcl/jvcl *.inc файлы со своими директивами, но и директивы определённые в других библиотеках и в самой Delphi. Например текущая версия RTL...
ОтветитьУдалитьПрогнал в Far поиск по всему каталогу jcl/jvcl и по каталогу исходников "C:\Program Files (x86)\Embarcadero\Studio\17.0\source\" с маской *.* - найдено только упоминание RTL290_UP
получается директива не определена...
Что за директива, что она означает, когда может быть определена???
В каждом исходнике jcl есть такой инклюд:
Удалить{$I jcl.inc}
который говорит, что вот в этом самом месте необходимо прочитать файл jcl.inc.
jcl.inc в свою очередь ссылается jedi.inc, где и должны быть определены дефайны вида RTLXXX_UP, DELPHIXXX_UP, COMPILERXXX_UP.
Все эти директивы нужны для удобства чтения кода, т.к. сама Delphi использует не очень понятные номера (конечно это можно оспорить) - см. http://docwiki.embarcadero.com/RADStudio/XE8/en/Compiler_Versions
Если у вас проблемы компиляции - возможно у вас:
-не та версия jedi.inc
-есть несколько версий этого файла, и при компиляции подхватывается не та версия
Скорее всего версия не та. Поиск вообще не обнаружил ни одного файла в котором упомянуто RTL290_UP, кроме мест где его уже проверяют... Чудеса!
ОтветитьУдалить