Блог Александра Божко
Архивы
Рубрики

Delphi

Перед выходом RAD Studio XE3 Джон Томас (John Thomas), директор по управлению продуктами Embarcadero, объявил о готовящемся выходе новой линейки средств разработки для мобильных устройств на базе платформы FireMonkey. Я попытался перевести данный пресс-релиз. Сегодня же Embarcadero опубликовала план развития нового продукта.

RAD Studio Mobile Roadmap.

Из представленной дорожной карты следует, что поддержку iOS компания планирует реализовать в первой половине 2013-го года. Во второй половине  2013-го ожидается реализация поддержки Android. И уже после этого планируется сделать поддержку Windows RT.

Кроме того, в представленном документе кратко описан функционал новой среды разработки. Особо меня заинтересовал пункт “Высокопроизводительные мобильные компоненты прямого доступа для популярных баз данных”.

Впрочем, ждать осталось не так уж и долго. Уже скоро владельцы зарегистрированной версии RAD Studio/Delphi/C++ Builder XE3 могут получить доступ к бета версиям продукта.

Предыдущий пост вызвал довольно оживлённую дискуссию относительно оптимальности приведенного решения. Напомню, что ставилась задача в отфильтрованном гриде необходимо некоторым образом модифицировать все записи. Действительно, приведенный вариант был далеко не оптимальный. С подачи резидента DevExpress (Константин, спасибо) я набросал еще несколько вариантов решения данной задачи.

Наиболее приемлемым мне показался этот:

if cxDBGridDBTableView1Approved.Filtered then
  cxDBGridDBTableView1Approved.Filtered:= False;

qryTiming.filter:= cxDBGridDBTableView1.DataController.Filter.FilterText;
 qryTiming.DisableControls;
 qryTiming.filtered:= True;
 qryTiming.first;

 while not  qryTiming.Eof do
 begin
   qryTiming.Edit;
   qryTimingApproved.AsInteger:= Approving;
   qryTiming.Post;
   qryTiming.Next;
 end;

qryTiming.filtered:= False;
qryTiming.EnableControls;

Обратите внимание на то, если изменяемое поле присутствует в условии фильтрации, то фильтр по нему сбрасывается. В противном случае, проход через все записи в наборе данных не будет обработан корректно. Так устроен  DataSet. Читать далее

Как я уже упоминал, на работе для разработки приложений была приобретена полная VCL Subscription от DevExpress. До этого у нас имелись лишь отдельные пакеты, к тому же они приобретались более года назад и многие продукты успели обновиться. К сожалению, мне не сразу удалось установить обновления и посмотреть последнюю версию DevExpress. Между тем, изменения обратили на себя внимание практически сразу. Помните, я писал о том, как создать “правильную” ribbon форму c помощью DevExpress (сколько раз обещал себе провести на блоге субботник и систематизировать все записи)? Так вот, теперь все стало довольно просто и среди списка стандартных Delphi файлов которые можно создать (File|New|Other… Delphi Files) появилось два вида DevExpress форм – хорошо знакомая ribbon форма в стиле офиса 2007 и новая – в стиле офиса 2010.

devexpress_new_delphi_project

Сия новинка пришлась весьма кстати, поскольку я уже собирался изощряться и создавать нечто подобное руками. К счастью, делать этого не пришлось. В данном посте я и попытаюсь рассказать о том, что из себя представляет DevExpress VCL v 12.1 Ribbon 2010 Form и как с ней работать. Читать далее

Сегодня я снова вернусь к “жизнеописанию” своего проекта. Возможно, в этом посте вы найдете еще один аргумент, для того, что бы перейти на Delphi XE2. Начну я с небольшого вступления.

На семинаре Embarcadero в Киеве в сентябре прошлого года я услышал историю о переводе на юникод очень большого проекта. Собственно, и истории ни какой не было. Был проект, который разработчики, с одной стороны, и хотели бы перевести на старшую версию Delphi. А с другой стороны у них в проекте 5 млн. строчек кода. И, естественно, перспектива рефакторинга и последующего тестирования такого количества кода их весьма пугает. А так ли страшно это на самом деле?

Я уже говорил, что проект у меня относительно не большой. Но вчера я обнаружил, что у меня у самого 0,6 млн. строк. Т.е. в теории выйти на сопоставимые порядки сложности приложения вполне реально, даже если не решать “сверхзадач” (я ни в коем случае не призываю оценивать сложность проекта количеством кода!).

Но таким объемом кода надо эффективно управлять и контролировать его. Конечно, hint’ы и warning’и помогают хоть как-то избегать ляпов. Но довольно часто разработчики просто не обращают на них внимания (что в корне не правильно), тупо полагаясь на оптимизатор.  Даже в довольно именитых наборах компонентов, при сборке исходников hint’ы и warning’и встречаются в изобилии. И полная ревизия всех сообщений компилятора – задача не простая.

И вот здесь очень удобно использовать QA Audits – инструмент, впервые появившийся в Delphi 2010. Использовать это средство в полном объеме могут владельцы Enterprise, Ultimate и Architect редакций Delphi. Читать далее

В последней рассылке от Embarcadero пришла ссылка на экспертный прогноз Дейвида Интерсимоне, опубликованный в ComputerWeekly. Он мне показался довольно интересным, и я рискнул сделать перевод. Перевод этот выложен на Хабре.

И несколько слов относительно DelphiFeeds.ru. Сайт стал достаточно удобным средством информирования о публикациях и событиях, связанных с миром Delphi. Таковым он. собственно, и задумывался.

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

Присоединяйтесь!

Довольно суетно начался 2012-й год.

Собственно, начался он с того, что поломался мой телефон (WinMobile 6.5). После недолгих раздумий купил себе Android.

Gigabyte GSmart G1345. Android с двумя карточками за $205. Читать я умею, поэтому сразу обновил прошивку и, в принципе очень пока доволен. Для тех, кто не знает, Gigabyte довольно известный бренд на рынке  компьютерных комплектующих.

На сегодняшний день я не вижу альтернативы Android’у на рынке мобильных ОС. И то, что Microsoft планирует сделать единую ОС для мобильных устройств и для ПК наводит на определенные мысли. То, что мобильная ОС от MS обречена, не станет столь же популярной как Android или iOS - очевидно. А вот не назревает ли передел на рынке ОС для ПК – вопрос.

Поэтому очень жду Delphi для Android. Конечно же, я имею ввиду FireMonkey.

Вторая новость. Работодатель купил полную VCL подписку DevExpress (до этого у нас были куплены только два пакета из полного набора). Очевидно, серию постов про DevExpress придется продолжать.

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

Прочее: накопилось довольно много материала по FireMonkey. Сейчас пытаюсь как-то систематизировать его.

Кстати! Призы победителям конкурса будут высланы на этой неделе.

Что касается новостей от Embarcadero:

  1. Скоро выйдет четвертый апдейт Delphi XE2.
  2. Акция, по условиям которой пользователи любой из старых версий Delphi могут купить XE2 по цене обновления продлена до 31-го декабря.
  3. Embarcadero объявила о новой акции – «Купите один продукт – второй выберите бесплатно!».

Седьмой номер русского BPM(ссылка в данный момент недоступна) выйдет в самое ближайшее время.

На этом пока все. Оставайтесь на связи.

Вышел IDE Fix Pack 4.6.1. Исправлено 2 бага, связанные с работой CodeInsight.

Скачать IDE Fix Pack 4.6.1 вы, как обычно, можете со страницы автора, Andreas’a Hausladen’a.

Так же напоминаю, что до окончания конкурса осталось всего 3 дня!

Ровно столько же осталось до окончания специального предложения от Embarcadero.

Вчера пришла рассылка от Embarcadero, содержащая много интересных ссылок на материалы по RAD Studio XE2 и FireMonkey. Все их приводить не буду, вам наверняка пришло такое же письмо. Продублирую только ссылки на страницы продуктов на страницы Facebook продуктов компании.

Поразмыслив, вчера я запустил страницу DelphiFeeds.ru.

Кроме анонсов постов там планируются опросы, ссылки, коментарии и т.д.

Социализируемся.

Итак, пришла пора подводить итоги конкурса, проводившегося на сайте DelphiFeeds.Ru, при поддержке Embarcadero. Скажу честно, мы были приятно удивлены количеством интересных материалов, опубликованных за те два месяца, которые продолжался конкурс. И, как следствие, в двух первых номинациях мы не смогли выявить явного победителя. Поэтому было принято решение не оглашать победителя в номинации “Лучший гостевой пост” и “Самый оригинальный код в посте”, а вместо этого наградить сразу троих участников конкурса в номинациях “Лучший блоггер” и “Лучший молодой блог” и двух участников в номинации “Лучший Delphi компонент или библиотека“.

Итак, победители: Читать далее

Без малого месяц назад я затронул тему обращения к полям DataSet. К своему удивлению, обнаружил, что, казалось бы, такая банальная тема получила “живой отклик”. Так же меня озадачил тот факт, что большинство комментаторов вполне готовы пожертвовать удобствами Code Insight и обращаться к полям с помощью FieldByName. Был высказан ряд аргументов разной степени убедительности. В свою очередь я постарался привести собственные контраргументы. Собственно, сам я почти всегда создаю поля в режиме редактирования проекта и обращаюсь к ним по имени. За исключением тех случаев, когда запрос формируется динамически в коде. Но тем не менее, вопрос того, как упростить вызов значения поля с помощью FieldByName – актуален.

Читать далее

Продукты DevArt
Купить онлайн:



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