Страницы

четверг, 22 января 2009 г.

Обновления компонентов: JCL, JVCL, FibPlus, SpTbx, Ehlib.

FibPlus для Delphi 2009

Наконец-то, через полгода после обещанного срока, вышла в свет версия FibPlus для Delphi 2009. На сайте разработчиков доступна для скачивания ознакомительная версия. Данная версия нелогично имеет номер 6.9.5. – точно такой же, что и у последнего обновления доступного подписчикам. Будьте внимательны, эта версия версия FIBPlus совместима только с  Delphi/C++ Builder 2009. К сожалению, пока я ждал этого выпуска, у меня закончилась подписка, так что сам я её пока не тестировал, не смотрел. Впрочем, на Delphi 2009 на работе ещё не переходили – ждали всё ту же версию FibPlus.

Вышли JCL 1.104(3248) и JVCL 3.36

По сравнению с предыдущей версией, эта намного стабильнее работает в Delphi 2009. Рекомендую скачивать одним архивом JVCL336CompleteJCL1104-Build3248.zip содержащим и JCL и JVCL.

Ehlib

Кстати, в декабре(11.12.2008) вышла официальная версия Ehlib поддерживающая Delphi 2009. Удивительно, но проект оказывается не совсем умер.

SpTbx

17 января вышла свежая версия замечательнейших тулбаров с поддержкой юникода и скинов SpTbxLib. Кстати разработчик наконец купил домен, и теперь сайт проекта расположен по адресу http://www.silverpointdevelopment.com/. Обновите закладки. Сообщить об ошибках и попросить помощи о SpTbx можно в новостной группе: http://news.jrsoftware.org/read/thread.php?group=jrsoftware.toolbar2000.thirdparty

Смотрите также

понедельник, 19 января 2009 г.

Текучка 8. Lazy Delphi Builder станет платным? ;-)

Останется ли самая удобная программа для установки пакетов в Delphi бесплатной? Почему разработчик “забросил” проект?

Это и многое другое вы узнаете, из сегодняшнего поста. =) А также кроссворды и колонка юмора.

пятница, 16 января 2009 г.

А стандартный DbGrid не так-то и прост

Проверял как Delphi 7 работает с одной базой данных, и обнаружил, что стандартный TDbGrid умеет рисовать многострочные заголовки с группированием. Сказать что я удивился, это то же самое, что не сказать ничего. За годы программирования в Делфи мне казалось, что про этот компонент я знаю всё, и вдруг такой сюрприз.

Мне стало интересно, знает ли кто из читателей о таких возможностях DbGrid-a, а может даже использует их?

На картинках можно увидеть как это выглядит. На первой картинке групповая колонка в развёрнутом виде. На второй тот же грид, но в свёрнутом виде.

TDbGrid c многострочным заголовком и группировкой.. Развернутый вид.

DbGrid c многострочным заголовком и группировкой.. Свернутый вид. 
Программа написана использует только стандартные компоненты входящие в состав Delphi 7(в Delphi 6 они тоже есть, но там я не проверял). Никакой отрисовки вручную. Никакого дополнительного кода(обработчиков событий).

Вопрос

Знаете ли вы о такой фиче стандартного TDbGrid?

p.s. также интересно было бы услышать догадки о том, как это сделано. ;-)

суббота, 10 января 2009 г.

История в духе worse than failure. О “пирамиде” по продаже GPL-кода.

Как-то Ник написал программу для записи видео с экрана. Не то, чтобы с нуля написал, но вот уже как 6 лет Ник поддерживает программу, добавляя новый функционал, исправляя баги, обновляя сайт и выкладывая свежие билды. Подробности того как начиналась история этой программы понят только старики(ходят слухи, что изначально разработкой программы занималась компания RoboScreen, которую поглотила Macromedia). А сейчас поддержкой и развитием программы официально занимается Ник. image

И программа у него получилась удобной, с понятным интерфейсом, стабильной и бесплатной. И вполне себе конкурирует с коммерческими аналогами. Ну что ещё для счастья гику надо? Разве чтобы исходный код был открытым и был написан хорошо. Код у Ника просто отличный и распространялись по лицензии GNU General Public License,

Программа называется CamStudio. И на данный момент, это самая простая и удобная из бесплатных программ умеющих записывать происходящее на экране вместе со звуком и сохранять в avi-файлы.

понедельник, 5 января 2009 г.

Общее описание библиотеки Jedi Code Library. JCL 3.35.

И что это я, в самом деле, всё про JVCL, да про JVCL? Давайте я вам лучше за JCL расскажу.

JCL поставляется в виде архива, содержащего исходные файлы библиотеки, файлы справки, несколько экспертов для IDE и установщик, способный установить всё это в Delphi. Библиотека JCL может установлена в Delphi с 6й(более ранние не проверял) по 2009 версию, включая Delphi Turbo Explorer.

Примечание: при первой установке JCL и JVCL не получится установить с помощью Lazy Delphi Builder. Причина в том, что обе библиотеки настраиваются при помощи .inc-файлов, а эти файлы генерируются установщиком Jedi при первой установке. Впрочем, при желании их можно сгенерировать и вручную из шаблона.

Полностью разобраться со всем и подробно описать, задача нереальная. Поэтому я дам только поверхностное описание Jedi Code Library 3.35, основанное на справке той же версии:

пятница, 2 января 2009 г.

The procedure entry point @UnitName@initialization$ProcName could not be located in the dynamic link library Package.bpl.

Экспериментируя с разными версиями JCL и JVCL столкнулся с ошибкой:

CodeGear RAD Studio for Microsoft Windows [Loading JclVersionControlExpert120.bpl]: bds.exe - Entry Point Not Found
---------------------------
The procedure entry point @Jclversioncontrol@initialization$qqrv could not be located in the dynamic link library JclVcl120.bpl.

Причина появления этой ошибки банальна и трудноуловима. В моём случае, проблема была в том, что пакеты Jcl дублировались. Когда–то я установил JCL с настройками по умолчанию, и установщик скинул все bpl-ки в папку:
C:\Users\Public\Documents\RAD Studio\6.0\Bpl\

Потом не деинсталлировав старую версию, я переустановил JCL, указав папкой для Bpl
D:\Work\D2009\!Build\Bpl\

В результате получилось, что пакеты Jcl*.bpl дублировались. При этом в папке C:\Users\Public\Documents\RAD Studio\6.0\Bpl\ была установлена сентябрьская версия, а в D:\Work\D2009\!Build\Bpl\ – последняя нестабильная версия из trunka. И всё работало без видимых проблем. Работало до тех пор, пока в JCL не изменили список юнитов пакета JclVcl, перенеся пару юнитов из пакета JclVersionControlExpert.dpk в JclVcl.dpk. И после того как я установил обновлённую версию, Delphi начали выдавать при старте эту ошибку.

Я настолько был уверен в том, что все bpl-ки у меня лежат только в папке D:\Work\D2009\!Build\Bpl\ что мне даже в голову не пришла мысль проверить это. В результате потратил кучу времени на поиск ревизии в которой появилась “проблема”, и убрал эти изменения. И уверенный в том, что проверил всё, зарегистрировал ошибку в баг-трекере Jedi. Там ответили, что повторить эту ошибку не удалось. Так что я решил ещё раз всё тщательно перепроверить, и, вуаля, нашёл дубликаты.

Надеюсь, этот пост послужит напоминанием тому, что при появлении ошибки Entry Point Not Found, первым делом необходимо проверить компьютер на дублирующиеся bpl в папках входящих в %path%. Потому что я встречаюсь с этой ошибкой уже не первый раз, и каждый раз забываю об этом.