Motto

В тихом саду здравомыслия
Пусть на вас постоянно падают
кокосовые орехи пробужденности.
Чогьям Трунгпа РИНПОЧЕ


Версия для мобильного


среда, 5 сентября 2012 г.

Lazy Delphi Builder 1.7.3.217 от 05-09-2012 для Delphi XE3

Что нового

  • Добавлена поддержка Delphi XE3.
  • Drag and drop. Теперь можно просто перетаскивать файлы и папки прямо в дерево из проводника.
  • Поддержка NameSpaces. В предыдущих версиях, при компиляции для Delphi XE2 можно было получить ошибку компилятора Fatal: F1026 File not found: 'Windows.dcu'" (мог быть и другой модуль). Чтобы эту ошибку обойти, нужно было добавить в dcc params строчку -NSSystem;System.Win;WinAPI;Vcl;Vcl.Imaging;Data. Теперь в диалог сборки добавлен отдельный редактор для NameSpaces.
  • Сборка проектов в отдельном потоке
  • Исправлены ошибки связанные с удалением файлов из дерева.

Скачивать на домашней странице: http://www.lazyproject.info/downloads/ или здесь


Читать дальше..

четверг, 26 июля 2012 г.

Головокружительные возможности Dependency Injection и Delphi Spring. Часть 7. Контроль над созданием.

Это перевод публикации Ника Ходжеса от 08 октября 2011 года: Getting Giddy with Dependency Injection and Delphi Spring #7 – Controlling Construction.


Все переводы по Spring


Как обычно, Delphi Spring Framework можно скачать с GoogleCode.

К настоящему времени вы получили представление о внедрении зависимостей ­и о том, как его использовать для разрывания связей в коде и создания объектов. Надеюсь, вы понимаете преимущества от написания кода ориентированного на интерфейсы, а не на реализацию. И если дела идут действительно хорошо, то вы уже с легкостью пишете модульные тесты, ведь ваш код теперь так легко тестировать.

Держу пари, что некоторые из вас думают, что тут не обошлось без магии и наверняка там, за кулисами, происходит слишком много всего.

Вы правы на этот счёт – там действительно много всего происходит. Delphi Spring Framework делает за вас кучу работы – в основном за счёт создания экземпляров классов используя RTTI (информацию о типах времени выполнения).­ Spring контролирует создание, но при этом, оставляет программисту возможность управлять жизненным циклом объектов.

Я также держу пари, что не все из вас готовы положиться на магию. Несмотря на то, что передача управления хорошо работает во многих случаях, вы можете захотеть не отдавать контроль над созданием объектов во всех случаях.

Хорошая новость здесь в том, что вам и не придётся. Фреймворк, при желании, позволяет управлять созданием объектов. В большинстве случаев если классы хорошо спроектированы, то их конструкторы просты, и в них не происходит ничего, кроме присвоения значений. Но иногда возникает нужда сделать при создании объекта что-то особенное. Иногда, классу требуется динамический параметр – объект, чьё состояние будет известно только при выполнении. (Примечание переводчика: мне очень не нравится слово динамический в этом контексте и примеры Ника, но я не придумал лучшего объяснения. Есть идеи, читатель? Пиши в комментарии!) Например, у нас может быть класс Клиент, и у этого Клиента могут быть Счета. И у нас есть класс, который мы хотим передать этому клиенту, но при этом мы не хотим связывать эти классы. Наш Клиент динамический – мы можем запускать запрос и выполнять эту операцию на каждом клиенте в нашей базе данных. Или Клиент может что-то делать на нашем сайте, и таким образом наш объект Клиента будет относиться именно к этому конкретному клиенту. В любом случае, данные нашего Клиента динамичны во время выполнения, и поэтому мы не можем загнать создание объекта в жёсткие рамки. Он должен быть уникальным, каждый раз, когда нам нужен экземпляр объекта, который выполняет действие над данным клиентом.


Читать дальше..

понедельник, 25 июня 2012 г.

Головокружительные возможности Dependency Injection и Delphi Spring. Часть 6. Обойдёмся без конструктора.

Это перевод публикации Ника Ходжеса от 24-09-2011: Getting Giddy with Dependency Injection and Delphi Spring #6 – Don’t even have a constructor.


Все переводы по Spring


Вступление

В четвёртой статье этой серии я озвучил пару правил, одним из которых было “Делайте Конструкторы Простыми”.(примечание переводчика: я не переводил части 1-4.) В последней статье мы узнали, как использовать контейнер Spring для хранения интерфейсов и реализаций и как запросить у контейнера Spring готовую реализацию интерфейса, вместо создания объекта вручную с помощью конструктора.

В этой статье мы продвинемся ещё на один шаг и посмотрим, как Delphi Spring Framework умеет самостоятельно создавать объекты и автоматически вставлять реализацию в нужных местах, и нам для этого не придется даже вызывать конструктор.


Читать дальше..

пятница, 18 мая 2012 г.

Lazy Delphi Builder 1.6.2.200 от 18-05-2012

Lazy Delphi Builder logo

  1. Изменено: В .LazyDbp файле всегда сохранять списки файлов в одном и том же порядке - упорядоченными по алфавиту. Чтобы было проще сравнивать 2 версии сохранённых профилей LazyDbp. (Tortoise Diff всё-равно показывает каждую строку изменившейся из-за того, что меняются номера строк. Зато, Beyond Compare сравнивает файлы корректно.)
  2. Горячие клавиши в Installation Log: Ctrl+Вверх и Ctrl+Вниз позволяют быстро перемещаться между сообщениями о начале компиляции ("Compiling ...").
  3. Добавлена возможность останавливать процесс сборки пока удаляются файлы.
  4. Встроен JCL диалог отлова исключений.
  5. Добавлено: Закладка Installed Packages: Теперь можно удалять и отключать пакеты из выбранной версии Delphi.
  6. Исправлено: Иногда профиль не компилировался без перезагрузки.
  7. Закладка "Select files to compile":
    1. Добавлено: Устанавливать фокус на добавленную папку.
    2. Несколько исправлений в работе "Substitute path"
  8. Изменено: Создание резервных копий файлов и их удаление теперь происходит в отдельном потоке.
  9. Исправлено: Программа не работала с сетевыми путями.
  10. Исправлена ошибка "List index out of bounds (-1)" на закладке "Library paths" формы "Environment Variables" (см. http://www.hostedredmine.com/issues/53575).
  11. Исправлено: !Не запускать CnDebugViewer при поиске!
  12. Много небольших исправлений и улучшений в Installation Log.
  13. Много исправлений и улучшений в GUI (около 20 разных мелочей).

Об ошибках можно писать в комментариях, на мейл (см. окно About) или в баг-трекер по адресу: http://www.hostedredmine.com/projects/lazy

Скачивать на домашней странице: http://www.lazyproject.info/downloads/ или здесь

Что возможно будет в следующем билде:

  • Drag’n’drop файлов в дерево пакетов (точно будет)
  • “Check wizard” для быстрой отметки проектов для конкретной версии Delphi
  • Вместо удаления файлов в Recycle Bin, перемещать их. Иначе слишком долго работает
  • Сборка проектов в отдельном потоке

Release notes in english.


Читать дальше..

понедельник, 2 апреля 2012 г.

Самое интересное в Delphi блогах за 2011 год

Подборка лучших материалов по Delphi на русском языке за 2011. В сравнении с прошлым годом, появилось намного больше качественных публикаций. Смотрите также: Самые интересные публикации 2009 года и Самое интересное в Delphi-блогах за 2010 год.

Особенно рекомендую почитать переводы статей Hallvard-а Vassbotn-а, и обратить внимание на раздел “Инструменты для Delphi”.

Оглавление


Читать дальше..

Постоянные читатели