Страницы

вторник, 25 августа 2009 г.

Вышла RAD Studio 2010

Сегодня у RAD Studio 2010 появилась информационная страничка: http://www.embarcadero.com/products/rad-studio 

А также стала доступна для скачивания 30-дневная trial-ная версия.

Фанфары.

О нововведениях в Delphi 2010 можно почитать здесь:

http://www.tdelphiblog.com/2009/08/delphi-2010.html

p.s. после того как с сайта embarcadero пропал счётчик, отсчитывавший время до выхода, я, грешным делом, подумал, что релиз перенесут. Ан нет, выпустили вовремя. :)

Ссылки по теме

понедельник, 24 августа 2009 г.

Подборка ссылок по Wix

Обещанная подборка ссылок по использованию Wix-а для создания инсталляций на базе Windows Installer (msi). В подборку влючены ссылки на русскоязычные и англоязычные вики, блоги, статьи и форумы посвящённые Wix-у. А также ссылки на некоторые вспомогательные иснтрументы.

На русском языке информации о Wix-е и Windows Installer-e катастрофически мало. Пара статей и несколько блогов – вот всё, что мне удалось найти. Вся основная информация об использовании Wix-a, включая туториалы, – на английском языке.

На русском языке

Туториалы

  1. Создание инсталлятора с помощью WiX. Часть 1. Создание простого инсталлятора.
  2. Создание инсталлятора с помощью WiX. Часть 2. Организация проекта.
  3. Создание инсталлятора с помощью WiX. Часть 3. Пользовательские окна.
  4. Создание инсталлятора с помощью WiX. Часть 4. Custom Actions в WiX.

Все записи с тэгом Wix на Хабрахабре.

Блоги

воскресенье, 23 августа 2009 г.

Объявлен срок выхода Delphi 2010. Обзор нововведений.

25 августа 2009 года.

Пост обновлен: 2009/08/27

Кто читает Delphi Feeds те, вероятно уже в курсе новостей. Для остальных (такие есть?:) ) вкратце опишу здесь.

У Delphi 2010 появилась своя страничка на сайте Embarcadero: http://www.embarcadero.com/rad-studio-2010/

Там будут появляться небольшие видео, демонстрирующие новые возможности IDE. Первое доступно уже сейчас.

Там же висит таймер который отсчитывает время оставшееся до выхода студии. 19 августа таймер с сайта пропал.

После анонса даты выхода, блоггеры разразились обзорами новых возможностей IDE. Вот основные (известные на данный момент по первому видео и публикациям в Delphi Feeds)

  1. Самое важное – исправлено огромное количество багов (даже те, которые не были зарегистрированы в Quality Central). Т.е. эта версия IDE обещает быть самой стабильной (поживём - увидим).
  2. Изменились иконки.
    Иконки Rad Studio 2010
  3. Компиляция в фоне. Т.е. можно запустить компиляцию в отдельном потоке, и продолжать работать в IDE. Например, расставлять точки остановки (breakpoints)
  4. Улучшена работа с потоками:
    • Появилась возможность давать потокам имена.
    • Улучшена отладка потоков. При установке брейкпойнта (это как-то ближе чем точка остановки(: ), в отладчике можно видеть, какой из потоков сейчас активен. Также можно выборочно замораживать потоки, и устанавливать активный.
    • thread-specific breakpoints.
  5. Подсветка поиска и Search bar. Наконец-то найденный текст будет подсвечиваться в редакторе.
  6. Появилась возможность переключать палитру компонентов в старый привычный режим, в виде полоски с табами. Возможность фильтрации сохранена. Кстати, код для этой штуки был написан Andreas-ом Hausladen-ом.
  7. IDE Insight. Потрясающая штука, позволяющая найти и выполнить любую команду IDE просто начав набирать её по буквам. Работает как для команд, так и для компонентов, а также для темплейтов кода. Кстати, её можно использовать для поиска компонентов на форме. По действию похожа на SearchBar в Vista Start Menu.
  8. Code Formatter. Настраиваемый форматировщик кода.
  9. Визуализаторы отладочной информации – одно из расширений ToolsApi, позволяющее отображать данные во время отладки в более удобном виде (например, можно просматривать содержимое TStrings в виде текста).
  10. Меню Reopen сделано настраиваемым.
  11. Добавлена возможность создавать Actions в Object Inspector.
  12. Мелочи вроде возможности сортировать файлы в Project manager-е, возможности перетаскивать точки остановки мышкой.
  13. Улучшения в ToolsApi (кстати там есть функции для интеграции с VCS).
  14. Наконец обновили окно Use Units. Теперь там есть фильтрация и возможность указать куда добавлять unit (в interface или implementation).
  15. Рефакторинг и Code Insight теперь работают с генериками.
  16. Поддержка mouse gestures и (multi-)touch интерфейсов. Доступен компонент – экранная клавиатура. Ещё. Ещё. Ещё, на русском.
  17. Возможность помечать внешние функции (из DLL-ок) как delayed, благодаря чему они будут загружаться только в момент вызова.
  18. Поддержка WIC (Windows Image Component), что позволит использовать в Delphi массу форматов изображений, в том числе и .raw. Некоторые даже готовы назвать это историческим событием.
  19. Классы для работы с файлами и директориями.
  20. Delphi 2010 будет иметь сертификат по совместимости с Windows 7.
  21. Новые юниты:
    1. Wincodec.pas содержит TWICImage. Поддержка Tiff, CR2 и NEF.
    2. Cor.pas – поддержка .NET Assemblies из нативного кода.
    3. Direct3D.pas, D3DX9.pas, D2D1.pas – заголовочные файлы для DirectX.
    4. Direct2D.pas содержит TDirect2DCanvas. Работа с Direct2D канвой знакомыми методами TCanvas.
    5. Manipulations.pas – инерционные манипуляции. Для реализации вращения и бросания вещей на экране. (звучит как физический движок)
    6. Gestures.pas, GestureMgr.pas, GestureCtrls.pas
      Поддержка жестов.
    7. Keyboard.pas, KeyboardTypes.pas содержит класс TTouchKeyboard.
      IOUtils.pas – серьёзное пополнение RTL в виде классов TDirectory, TPath, и TFile.
  22. Новый набор иконок, поставляющийся вместе с IDE.
  23. Расширенное RTTI: атрибуты. Пример использования атрибутов для реализации объектно-реляционной проекции.
  24. Обработка интерактивных жестов.
  25. Dbx драйвер для Firebird с поддержкой юникода. Поддержка Firebird в Data Explorer. Доступны исходники всех Dbx-драйверов. Доступен исходник midas.dll (на C). Источники: Большой обзор. Видео демонстрирующее работу с Firebird Dbx драйвером, и новые фичи Datasnap 2010.
  26. Ещё новшества касающиеся DataSnap.
  27. “Import WSDL” Wizard с поддержкой SOAP 1.2 и кучей дополнительных опций.
  28. Существенно улучшена справка. (оставьте надежду, MsHelp2 никуда не делся). Улучшения коснулись полноты материала. Будет больше code samples (например, будет 533, хотя неизвестно сколько их было раньше). Справка дополнена советами по переводу ANSI кода на Unicode.
  29. Появилась возможность приводить интерфейсы к классовому типу с помощью as.
  30. Ещё немного о SOAP 1.2.
  31. Поддержка HTTP в Datasnap 2010 с помощью ISAPI.dll. (большой пост с иллюстрациями)
  32. Обратные вызовы (callback) в Datasnap 2010.
  33. JSON типы в Datasnap 2010
  34. Ещё об атрибутах в Delphi 2010. Пример использования атрибутов для валидации данных.

По ссылкам можно посмотреть скриншоты и почитать подробное описание на английском.

Из того, что обещалось на Delphi Live пока слышно, что будет dbExpress драйвер для Firebird, будет поддержка touchscreen-ов и mouse gestures в VCL, но ничего не слышно про интеграцию с SVN (а было бы чертвоски здорово иметь что-то подобное тому, как это сделано в NetBeans).

  • Купить Delphi 2010


  • Купить RAD Studio 2010


  • Купить Embarcadero All-Access

    Nick Hodges сообщил, что поддержка SVN не будет являться частью Delphi 2010, но будет реализована в виде субпроекта после выхода Delphi 2010.

    Видео, демонстрирующее работу IDE Insight, Code Formatter, панели компонентов, фоновой компиляции и кое-чего ещё.

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

    Посты по теме

  • четверг, 13 августа 2009 г.

    Вирус отакуе Delphi программистов!

     

    virus

    Вирус, photo by twenty_questions

    Gunsmoker сегодня сообщил о вирусе, заражающем установленную Delphi и распространяющим себя через скомпилированные программы. Известно, что в интернете гуляли заражённые версия Qip и Aimp.

    Вирус делает 2 вещи: размножается и иногда глючит. Собственно по глюкам его и нашли. Вирус заражает версии Delphi с 4й по 7ю, и при активации перезаписывает собой файл sysconst.dcu, сохраняя оригинальный файл с именем sysconst.dcu.bak.

    Подробное описание этого вируса, алгоритма его действия и способа лечения можно найти в блоге GunSmoker-a.

    Сама по себе эта разновидность вируса не опасна. Его легко найти и исправить. Однако этот вирус демонстрирует жизнеспособность такого способа заражения, и уязвимость установленной Delphi.

    Мне “повезло” обнаружить этот “вирус” в своей инсталляции Delphi 6 и Delphi 7. Причём дата модификации у одного из sysconst.dcu.bak был январь 2008 года.

    После этого я задумался, о том, что необходимо как-то защитить Delphi и исходники. Большое везение, что этот вирус оказался довольно безобидным. Однако, возможно появятся (или уже есть) и другие, которые не столь явно себя проявляют.

    TortoiseSVN работает на порядок медленнее чем консольный клиент

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

    Надо сказать, в качестве клиента svn я использую TortoiseSVN (версию 1.6.2).

    При добавлении файлов, TortoiseSVN подвис минут на 10, после чего наконец выдал диалог со списком файлов. При попытке сделать коммит, он тяжело работал минут 50, ощутимо загружая процессор, после чего выдал сообщение об ошибке и вылетел.

    Иконок не то, чтобы мало – 30 тысяч файлов. И коммитил я их, частями. Но, так или иначе, выглядела эта идея удручающе. И решил я попробовать сделать тоже самое через консольный клиент (svn.exe). Я скачал и установил сборку SlikSVN,  и запустил коммит. К несказанному удивлению, консольная версия сделала всю работу минут за 10.

    Вывод: иногда гуёвые программы и работают соответствующе.

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

    вторник, 4 августа 2009 г.

    Генерики в Delphi 2009 для Win32. Часть 5. Ограничения обобщенных типов.

    В пособии также рассматриваются анонимные методы и процедурные ссылки.



    Словарь терминов
    • generics - дженерики, генерики, параметризованные классы, шаблоны, обобщения;
    • Типы данных: string – строка, record – запись;
    • implicit conversion - неявное приведение (типа);
    • constraint – ограничение;
    • actual types – фактические типы
    • generic class – обобщённый класс;
    • generic parameter – обобщённый параметр;
    • сast – приведение типа;
    • anonymous routines - анонимные методы;
    • routine references - процедурные ссылки;
    • ordinal type – порядковый тип (данных);
    • interface type – интерфейсный тип (данных);
    • class type – классовый тип, иногда просто класс (так как класс сам по себе является типом);
    • comparer – компаратор;
    • unit – модуль, юнит;
    • instanciate – создание экземпляра объекта;
    • ordinal type – порядковый тип (данных)

    V. Ограничения обобщенных типов

    Хорошо, теперь вы знаете основы. Настало время перейти к серьезным вещам, а именно ограничениям.

    воскресенье, 2 августа 2009 г.

    Итоги недели: первый шаг к созданию команды

    команда =)Вопрос о том, работают ли Delphi программисты в команде волнует меня давно. И если работают то как? Причина в том, что во всех местах где мне доводилось работать, Delphi программисты работали поодиночке. Каждый над своим проектом. Максимум – один из программистов заведовал общей библиотекой компонентов.

    На текущей моей работе точно такая же ситуация. Все программисты находятся в одной комнате, но каждый работает над своим проектом и даже не в курсе того, какие проблемы решает его сосед. Более того, все проекты когда-то были основаны на одном и том же базовом коде, но этот код просто копировался между проектами. В результате сейчас мы пришли к тому, что в каждом проекте этот код немного (иногда даже сильно) отличается. Типичная ситуация в духе worse than failure.

    суббота, 1 августа 2009 г.

    Валидаторы в JVCL. Jv Validators.

    Среди множества нужных и не очень компонентов бесплатной библиотеки JVCL, есть несколько компонентов предоставляющих лёгкий способ проверить на правильность введённые пользователем данные, и показать соответствующую иконку. Всё это реализовано в компонентах, которые расположены на закладке Jv Validators.

    JVCL валидаторы в действии

    image_thumb

    Валидаторы из JVCL позволяют проверять введённые данные по следующим критериям:

    1. Обязательное для заполнения поле.
    2. Попадание введённого значения в интервал.
    3. Соответствие введённого текста регулярному выражению.
    4. Сравнивать введённое значение с произвольным значением либо со значением, введённым в другой контрол.
    5. Произвольная проверка.
    Работа с валидаторами в Delphi

    image4_thumb

    Подробное описание компонентов для валидации данных из библиотеки JVCL, читайте в блоге Вячеслава Комкова:

    Валидаторы в JVCL. Часть 1
    Валидаторы в JVCL. Часть 2

     

    Описание других возможностей JVCL: