Delphi 2010

Блог Александра Божко

Архивы

Рубрики

Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Я уже неоднократно писал о SphereLive. В контексте данного блога  этот проект прежде всего интересен тем, что реализован на FireMonkey и является потрясающей демонстрацией возможностей данной платформы. И вот, буквально на прошлой неделе, была выпущена публичная бета продукта. Таким образом, читатели блога могут сами “пощупать” действительно сложное FireMonkey приложение.

sphere00

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

Новая SphereLive это, не просто очередной мессенджер. Прежде всего, это инструмент, позволяющий эффективно организовать образовательный процесс. Он позволяет проводить дистанционные лекции, частные консультации, индивидуальные занятия и другие подобные мероприятия. При этом он оснащён практически всем необходимым для работы. Начиная с уникальной системы передачи файлов и заканчивая мощнейшей подсистемой биллинга.

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

Естественно, что Сфера использует главное преимущество FireMonkey – кроссплатформенность. Сейчас приложение доступно в Windows и MacOS редакциях. Android версия ожидается со дня на день.

Тем не менее, для меня, SphereLive интересна, прежде всего, как инновационный продукт с целым набором оригинальных решений. Иногда просто на уровне “… ух ты, как ты это сделал?” Кстати, один из разработчиков Сферы активно участвует в обсуждениях на форуме, посвящённом FireMonkey. Само по себе это может послужить поводом скачать приложение и обсудить технические вопросы непосредственно с автором. Поверьте, есть на что посмотреть, есть чему поучится.

 


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Одним из главных преимуществ Berlin‘а, является визуальный редактор ListView Item. За три месяца с момента выпуска продукта о нём не написал только ленивый. И он действительно удобен. Он экономит “массу времени, сил и духовной энергии…” (с). Но есть одна проблема, с которой столкнулся я, и судя по записям в многочисленных форумах, не я один. Как только свойство Item Appearance принимает значение DynamicAppearance, при работе с представлениями формы начинается чехарда.

ItemApp Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Хорошая новость от Ярослава Бровина. Обновлён набор компонентов FGX, существенно расширяющий возможности мобильной разработки в Firemonkey.

Список изменений

  • TfgActionSheet:
    • Добавлены и реализованы события TfgActionSheet.OnShow, TfgActionSheet.OnHide, TfgActionSheet.OnItemClick.
    • Добавлены свойство TfgActionSheet.Theme, позволяющее выбрать вариант темы: Auto - выбирает темную или светлую тему автоматически на основании текущего стиля; Light - использует светлую тему; Dark – темную
    • Обновлен пример ActionSheetDemo.
  • TfgApplicationEvents – добавлены новые событии:
    • OnActivityResult (Андроид) – позволяет получить результаты/интенты из других приложений.
    • OnFormBeforeShown - вызывает непосредственно до момент отображения формы
    • OnFormActive - Вызывается, когда форма активируется.
    • OnFormDeactivate - Вызывается, когда форма деактивируется
    • OnFormCreate - Вызывается после создания экземпляра формы
    • OnFormDestroy - Вызывается до разрушения формы
    • OnScaleChanged - Вызывается, когда меняется скейл у формы. Например, при перетаскивании формы с одного экрана с одним скейлом на другой с другим скейлом (Больше актуально для OSX)
  • TfgProgressDialog, TfgActivityDialog:
    • Добавлены свойство Theme, позволяющее выбрать вариант темы: Auto – выбирает темную или светлую тему автоматически на основании текущего стиля; Light – использует светлую тему; Dark – темную.
  • Общие изменения:
    • Ассерты перенесены в скоп TfgAssert.

Полное описание и ссылки на скачивание.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

К сожалению, времени на всё запланированное банально не хватает. Смена хостера, обновление движка Delphifeeds и многое другое. Тем не менее, начал писать подробный мануал по созданию полноценного мобильного приложения и даже собрал команду болельщиков в этом начинании. Но быстро сказка сказывается, да не быстро дело делается. А пока решил сделать несколько постов в новую рубрику. Как следует из названия, здесь будут публиковаться “зарубки на память”, небольшие лайфхаки и прочие материалы, которые назвать оригинальными можно с натяжкой, но под рукой иметь полезно. Для начала маленький лайфхак для начинающих разработчиков.

Представьте, что в режиме проектирования вам нужно клонировать на форме какой-то сложный объект, например, DataSet. Казалось бы всё просто. Выделяете объект и копируете его в буфер обмена (Ctrl+C). Затем вставляете его на форму и переименовываете новый объект. Но здесь есть один не совсем приятный момент. Если мы откроем редактор полей, то обнаружим, что поля вновь созданного объекта не имеют осмысленных названий, а называются примерно так, как показано на рисунке.

Кроме типа поля из названия смысловой информации мы не получим. Конечно, в данном случае есть простое решение. Удаляем все поля, затем копируем все поля из исходного DataSet’а и вставляем в новый DataSet. Все поля приобретут осмысленные названия. которые мы сможем использовать в коде.

Но что делать, если копирование полей не поддерживается, как, например в TdxMemData от DevExpress? Конечно, можно создать заново все поля вручную, но значительно проще отредактировать код формы. Для этого я использую Notepad++. В принципе подойдёт любой редактор, с поддержкой глобальной замены текста. Всё просто. В Delphi IDE мы выбираем текстовое представление формы. Копируем и переносим код интересующего нас объекта вместе с вложенными объектами в редактор и производим замену по шаблону. После этого вставляем код нового объекта в исходный код формы. Что бы не возиться с описаниями объекта в pas-модуле, просто вырежьте и снова вставьте его на форму.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В связи с переездом в работе Delphifeeds.ru и Delphi2010.ru будут перебои. Delphifeeds.ru планирую перевести на новый дижок.

Старые записи выложу в виде архива (либо просто БД, либо удосужусь написать приложение).


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Пост не совсем тематический, но тем Delphi разработчикам, которые “смотрят в сторону мобильности” наверняка будет интересно.

Оказалось, что Всеволод Леонов трудится в этой сфере, правда на уровне продвижения готовых продуктов. Он будет 20 апреля 2016 г. в 11:00 Мск проводить вебинар на тему корпоративной мобильности.  Сева сказал, что будет достаточно большое количество информации о состоянии вопроса, современных трендах и технологиях, которые нужно знать всем мобильным разработчикам.

Собственно, вся информация ниже:

Мобилизация бизнеса

Workspad = Безопасность + Продуктивность

 

Мобилизация бизнеса для одних означает корпоративные sim-карты, для других – выданные на работе смартфоны, для третьих – изменение стиля работы компании.

Мобильность сама по себе – гигантский рынок новых продуктов и технологий. Разработчики зарабатывают деньги, создавая мобильные решения для бизнеса. Бизнес извлекает грандиозные преимущества от трансформации в Mobile First Enterprise.

Приглашаем вас на вебинар от компании MobilityLab (ГК АйТи), где мы расскажем об основных механизмах достижения максимального уровня мобильности бизнеса через призму продуктовых решений.

Вебинар состоится 20 апреля с 11 до 12  часов по московскому времени.

Всем участникам вебинара мы предложим индивидуальную консультацию и  экспресс-анализ с набором рекомендаций по развитию мобильности.

WorksPad_webinar_20.04
Регистрация.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В очередной раз вышло так, что вроде бы и есть о чём рассказать, но катастрофически не хватает времени. Поэтому обо всём вкратце.

Начну с плохих новостей. В конце прошлого года Microsoft обновил MS Office. Событие само по себе неприятное. Вдвойне оно неприятно потому, что у меня купленный Office 365 и эта беда коснулась меня лично. И вовсе наивно думать, что после обновления всё, что работало, по-прежнему работает. Когда такое было? Драйвер ODBC перестал поддерживать старые форматы файлов MS Access (*.mdb). При чём у кого-то воспроизводится, у кого-то нет. У меня воспроизводится точно. Казалось бы при чём тут Delphi? А всё просто, ни FireDAC, ни UniDAC теперь тупо не могут прицепиться к mdb базе. А я, между прочим, с ними работаю! Пришлось снести офис и всё волшебным образом заработало.

Беда одна не ходит! По крайней мере, в случае с Microsoft это правило работает без сбоев. Там объявили, что Windows 7 и более поздние версии Windows больше не будут считать действительными программы, подписанные с помощью SHA1. Подробнее всё доступно изложено здесь. В связи с чем также пришлось потратить определённое количество времени.

А ещё я действительно боюсь, что у меня нет выбора!

Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

hnyВ этот раз я не планировал писать традиционный пост об итогах уходящего года. Тем не менее, в последний момент передумал.

Сказать, что год был тяжёлым – не сказать ничего. Конечно, очередные версии Rad Studio выходили в положенное время. Продукт по прежнему интенсивно развивается и здесь вроде бы всё отлично. С другой стороны, по вполне понятным причинам, объём продаж на территории стран бывшего Союза по вполне понятным причинам упал, а  это не может не возыметь определённых последствий. Но об этом чуть позже.

Главным из событий в мире Delphi, в уходящем году, стала покупка embt компанией Idera. Как всегда бывает в таких случаях, это вызвало обеспокоенность сообщества и массу вопросов относительно дальнейшей судьбы продукта. Впрочем, страсти довольно быстро улеглись, после нескольких публичных заявлений, общий смысл которых сводится к следующему. Idera чётко понимает, какие продукты она приобрела, она заинтересована в их развитии и осознаёт ответственность перед многими разработчиками ПО во всём мире. Вместе с тем, вполне вероятно, будет изменена маркетинговая политика, в том числе и механизмы ценообразования. Слова нашли подтверждение уже в этом году. Было выпущено обновление последней версии Rad Studio, а от развития Appmethod компания отказалась. Так или иначе, 2016-й, вероятно принесёт нам много изменений, и хочется верить, что они будут в лучшую сторону.

Теперь о грустном. В московский офисе embt было проведено сокращение. Офис покинули Денис Васильев (менеджер по продуктам RAD Studio), Сергей Терлецкий (менеджер по образованию), Алексей Голопяткин (менеджер по СНГ), Екатерина Макарова (маркетинг). Мы плодотворно сотрудничали на протяжении нескольких лет и я готов отрекомендовать каждого из них, как прекрасного специалиста. Насколько мне известно, они открыты для предложений.

К сожалению, я разделяю тревогу Романа Янковского относительно русскоязычных материалов, посвященных Delphi.

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

365


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Минитест на знание VCL

Я решил отнести данный пост к рубрике Редизайн Интерфейса, как наглядный пример того, что заменяя один компонент на другой, пусть и очень похожий функционально, не всегда получается “машинально” обновлять код, используя различные варианты автозамены и прочие ухищрения. Иногда приходится осуществлять полноценный рефакторинг.

Вчера попался мне примерно такой код (я его немного упростил):

procedure TfTest.Button2Click(Sender: TObject);
var
  i: integer;
begin
  i := 0;
  while PageControl1.PageCount > 1 do
  begin
    if PageControl1.ActivePageIndex = i then
    begin
      Inc(i);
      Continue;
    end;

    PageControl1.Pages[i].Free;
  end;
end;

Задача вполне тривиальная. Необходимо удалить все страницы PageControl’а кроме активной. Понятно, что реализация не самая элегантная, но на первый взгляд код вполне рабочий. Найдёте ошибку не заглядывая под кат?

Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

EntityDACLogoТехнология объектно-реляционного отображения (ORM) заинтересовала меня более десяти лет назад. Именно тогда мы с группой единомышленников создали Интернет-проект «Mda по-русски» (mda-delphi.ru), посвященный вошедшему в состав Delphi 7 Architect продукту Bold for Delphi. В то время этот продукт вызвал довольно оживленный интерес у Delphi разработчиков, нам удалось организовать довольно большое и продуктивное сообщество, собрать множество материалов и полезных наработок.  К сожалению, проект исчерпал себя, отчасти ввиду кризиса Delphi, отчасти из-за субъективных обстоятельств, но в основном из-за того, что Bold перестал официально поддерживаться.

Так или иначе, интерес к подобным решениям существует, и довольно странно, что в то время как для других сред разработки есть огромное количество различных ORM библиотек, для Delphi их не так и много. Если верить Wikipedia за всю историю существования Delphi, было лишь три проприетарные реализации. Это, Bold for Delphi, абсолютно провальный проект ECO, реализованный компанией Borland для Delphi for .Net, и, возможно вы удивитесь, вполне современный, поддерживаемый и активно развивающийся проект от компании DevArtEntityDAC.
Именно о последнем продукте сегодня и пойдет речь.

Но прежде всего, давайте разберемся с тем, что же такое ORM и какие преимущества эта технология предоставляет разработчикам. Согласно всё той же Wikipedia, ORM (англ. object-relational mapping, рус. объектно-реляционное отображение) это технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

Основная цель использования ORM подхода – увеличение продуктивности разработки. Достигается это за счет разделения бизнес-логики приложения и низкоуровневых операций по взаимодействию с БД, что, в свою очередь, позволяет разработчикам ускорить процесс создания проектов и облегчить их сопровождение.

Очевидно, что именно с этой точки зрения и следует рассматривать EntityDAC. Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Купить Delphi в Украине

Лицензирование Delphi и других продуктов компании Embarcadero на территории Украины у авторизованного реселлера, компании DC Link (Харьков).

  • квалифицированные консультации;
  • честная цена;
  • подписка Blase Pascal Magazine в подарок.

Тел. +38 (066) 718 40 95; +38 (098) 045 23 27

e-mail: info@delphixe.com.ua

icq: 798-256

Skype Name: alexbozhko

Продукты DevArt

Купить онлайн:



Читай русскоязычные Delphi блогиVisual Studio, .Net, Silverlight, Azure, Sharepoint
Каталог блогов Blogdir.ru
Яндекс.Метрика