Motto

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


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


Показаны сообщения с ярлыком бла бла бла. Показать все сообщения
Показаны сообщения с ярлыком бла бла бла. Показать все сообщения

пятница, 7 марта 2014 г.

AppMethod – новая IDE только для Firemonkey от Embarcadero.

И кстати, пользуясь случаем хочу передать привет хочу дать ссылку на Roadmap для Delphi на 2014 год.


Embarcadero готовит что-то новенькое. Причём, у этого чего-то еще будет и бесплатная редакция. Последняя бесплатная IDE, насколько я помню была у Turbo Delphi в далёком 2006, которая вроде даже была довольно популярна несмотря на некоторые ограничения.

Продукт будет называться AppMethod. И будет представлять собой версию RAD Studio только для Firemonkey (без VCL). Для пользователей полной RAD Studio, продукт скорее всего не будет представлять интереса. А вот для новых клиентов заинтересованных в кроссплатформенной разработке, это должно быть интересно.

Согласно информации от Techcrunch, нам обещают бесплатную редакцию для индивидуальных разработчиков (которая будет поддерживать сборку под Android и deploy максимум на 5 устройств (интересно, как это будет ограничиваться)).

Коммерческие лицензии будут доступны по подписке на год.

 

Имхо

Хотя подписка на год и портит всю малину, но всё-равно браво, маркетологи Embarcadero.

Причины:

  • Во-первых, в IDE будет меньше package-й - и запуск IDE должен стать быстрее.
  • Во-вторых, меньше компонентов в палитре, что упростит повседневную работу (особенно для тех, кто только начинает) как пользователям, так и службе поддержки.
  • В-третьих, бесплатная версия для Android - отличный ход для популяризации Firemonkey. Одна из характерных черт Android платформы там больше любят халяву. Там больше бесплатных приложений. Хотелось бы мечтать, что бесплатная версия всё же позволит публиковаться в Google Play, но что-то подсказывает мне что нет. Что ж. Будем меняться исходниками. Стимулируя Open Source, я надеюсь выиграет всё сообщество Delphi разработчиков.
  • В-четвертых, новый бренд. молодцы, интересный ход. Упоминание Delphi почему-то частенько вызывает ярко-выраженную аллергическую реакцию. Посмотрим как с этим пойдёт.

Ложки дёгтя:

  • AppMethod, не такой выговариваемый, как Делфи. Сравните: делфи, делфай, аппмитод, аппметод.
  • Годовая подписка. А что через год - что ли нельзя больше ничего собрать будет?
  • Годовая подписка за разработчика/за платформу. Хотите 4 платформы - умножайте на 4?

Источники:

p.s. В публичном доступе – с 18 марта (дата найдена в интернетах).


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

понедельник, 16 декабря 2013 г.

Delphi. Как указать папку "по умолчанию" для новых проектов

Надоело мне, что Delphi предлагает каждый новый проект сохранить в папке My documents. И задался я вопросом, а как бы эту папку изменить. Оказалось – очень просто. Настолько просто, что даже и рассказывать тут не о чем. Но я всё-таки расскажу так как я (почему-то) долгое время считал, что такой опции просто нет.

Главное меню –> Tools –> Options –> Environment Options –> Default Project

Или, с помощью IDE insight: Ctrl+. ввести default project + Enter

image

В Delphi XE-XE5 эти настройки хранятся в реестре:

HKEY_CURRENT_USER\Software\Embarcadero\BDS\12.0\Globals\DefaultProjectsDirectory

Тип данных: REG_SZ


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

суббота, 26 октября 2013 г.

1. Пишем детскую программку под Android: план

Delphi для Android. О сколько радостных предвкушений вызывает у меня сочетание этих слов. Я давно хотел сделать что-нибудь под Android. Для начала что-нибудь простенькое, но свое.

Дочке сейчас полтора года, и ей очень нравятся телефоны, компьютеры и планшеты. Любая чёрненькая коробочка с кнопочками и лампочками влечёт её почище магнита. Но особое предпочтение доча отдаёт устройствам с тачскрином. “Папа, дай мне пожалуйста свой телефон, я хочу с ним поиграть, а заодно я раскидаю твои иконки так, что не сможешь потом ничего найти, поменяю звонок, переставлю время, запущу тебе кучу разных программ и позвоню парочке случайных знакомых”, хочет она сказать, но произносит только “Алё-алё! На-на-на!”. Ключевое для дочки, конечно, поиграть. Больше всего она любит программки с картинками, которые издают звуки.

Её требования к играм очень простые:

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

У меня требований чуть больше:

  • там не должно быть змей, говорящих ссссс, страшно рычащих тигров, обезьянок, и других тварей, которые не водятся в нашей местности и в детских книжках
  • программка должна быть проста в использовании:
    • картинки должны быть большими
    • программа должна чётко понимать, что прикосновение к экрану на 3 сантиметров в стороне от картинки это на самом деле прикосновение к картинке
    • а если на экран нажали ладошкой, то не это никакой не мультитач, а обычное нажатие, и если на экране есть несколько животных издающих звуки, то совершенно излишне заставлять всех животных вопить благим матом, а то родители пугаются
    • крайне желательно, чтобы программка умела блокировать нажатия кнопок home, back и menu (в некоторых детских программах это кстати реализовано). (сенсорные кнопки на телефонах/планшетах – это зло)
  • Никакой рекламы во время игры, разумеется

Таких программ очень много в Google Play Market-e. Но у всех у них есть какой-нибудь фатальный недостаток.

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

пятница, 11 октября 2013 г.

Ссылка: Почему веб-приложения на мобильных платформах работают медленно

 

Delphi XE5 дает возможность создавать нативные приложения и для десктопа и мобильных платформ (пока что Android и iOs). Единый код, UI, все дела.

Но зачем мне для этого покупать Delphi, воскликнет искушенный читатель? Я возьму какой-нибудь бесплатный мобильный Javascript фреймворк (Cordova, PhoneGap и другие) и сделаю то же самое. Не спеши, читатель, отвечу ему я. Ведь Javascript может оказаться слиииииишком медленным.

И вот одна статья на эту тему. Только сегодня! Только на нашей арене! Javascript против нативного кода! Сравнение производительности и предсказании будущего! Статья опубликована на Хабре 8 августа 2013.

Почему веб-приложения на мобильных платформах работают медленно

 

Статья по ссылке реально большая. И я позволю себе скопировать сюда выводы.

Вот что следует помнить:
* в 2013 году JavaScript является слишком медленным, чтобы его можно было использовать на мобильных устройствах для создания приложений типа обработки фотографий и пр.:
— он в 5 раз медленнее нативного кода;
— он сравним с IE8;
— он медленнее, чем x86 C/C++, примерно в 50 раз;
— он медленнее, чем серверные Java/Ruby/Python/C# примерно в 10 раз, если программа выделяет не больше 35 Мб памяти и резко замедляется при дальнейшем выделении памяти;
* Наиболее реальный способ его разогнать — это увеличить производительность процессора до уровня десктопа. Возможно это и произойдет, но не в ближайшем будущем;
* Сам язык последнее время нисколько не ускорился и его разработчики утверждают, что при сохранении языка и API, производительность никогда не догонит нативный код;
* Сборщик мусора сильно тормозит при ограниченном количестве доступной памяти. Он ведет себя сильно хуже, чем на декстопах или серверах;
* Каждый мобильный разработчик, независимо от того — использует он сборку мусора или нет — тщательно продумывает работу с памятью;
* JavaScript в настоящий момент фундаментально против того, чтобы даже попробовать оценить расход памяти на мобильных устройствах;
* Даже если они захотят дать эту возможность, опыт подсказывает, что сделать это будет очень трудно;
* Есть надежда на asm.js, но он, скорее, напоминает C\C++, чем что-то динамическое типа JS.


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

воскресенье, 5 февраля 2012 г.

Планы на 2012 год. Голосуем в комментариях.

 

mnx personal today todo list

Голосуем в комментариях за самые интересные темы. =)

  • Сделать подборку лучших постов о Delphi за 2011 год. Будет обязательно.
  • Инструкция для Lazy Delphi Builder
  • Lazy Delphi Builder: улучшение работы, исправление ошибок, хранение профилей в SVN.
  • Lazy Delphi Builder: Генерация .bat файлов.
  • Выявление возможных проблем при установке компонентов. В виде готовой программки или как часть Лэйзи билдера.
  • Продолжение перевода серии про Dependency Injection и Delphi Spring.
  • Статья: Компиляция сторонних библиотек. Подводные камни. И почему этот процесс нельзя унифицировать.
  • Статья: Переход из HelpMaker в Help & Manual. И их сравнение.
  • Продолжение заметки о процессе ведения проектов в Delphi на примере использования Redmine. Тут если подумать всё тривиально и кроме прописных истин мне и сказать особо нечего. Разве что только дать несколько советов о хранении Delphi кода в системах контроля версий.
  • Описание CnWizards в одном файле.
  • Написать программку для извлечения метаданных и данных БД Firebird для удобного хранения в системе контроля версий. Из серии, запустились по расписанию, автоматом извлекли всё что надо и отправили в систему контроля версий. А помимо метаданных извлекать планируется некоторые БЛОБы (например в виде DFM-ок или XML-файлов). Хочу такую для себя написать. Может ещё кому надо/интересно?
  • Статья: пишем простенький ORM с помощью Delphi RTTI.
  • Продолжение серии постов о переходе на юникод:
    • Замена Dream VCL на TMS Scripter Pro.
    • Переход с RxLib на JVCL: Как это было на деле.
    • Грабли при переходе. На что обратить внимание.
  • Поверхностный обзор скриптовых движков и дизайнеров форм для Delphi. Ищем замену Dream VCL.
  • Статический анализ Delphi кода – мой опыт. Я пробовал Code Healer и Peganza Pascal Analyzer + ещё какую-то программку для поиска повторяющихся фрагментов кода (Copy Paste). Инструмент от Peganza мне очень помог. Могу попробовать вкратце рассказать.
  • Firemonkey – ищем/пишем замену DbGird-у.
  • Обзоры JVCL. Стоит ли продолжать?
  • Закрыть блог и больше ничего не писать. Может быть это сделает кого-то счастливым?

p.s. не обещаю что напишу, но обещаю взять на заметку.


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

2011 год. Подведение итогов.


Пришла пора подвести итоги прошедшего года и набросать планы на следующий.

Checklist

2011-й год был очень загруженным. К концу лета навалилось очень много работы и времени стало катастрофически не хватать. Ни на ведение своего блога ни на чтение чужих. Не следил за новостями ни читал обзоры долгожданной Delphi XE2.

Мир Delphi

В этом году случилось много всего. В первую очередь Delphi XE2 (долгожданная поддержка 64-бит, кроссплатформенность, новая библиотека для создания кроссплатформенных приложений FireMonkey, скины в VCL (обзор в блоге Влада), Live Bindings, Fast Report в комплекте с Delphi и многое другое). Я успел немного поиграться с одной из бета-версий, а со стабильной даже и не работал – не было времени. 50% времени работал в Delphi 6, 50% в Delphi 2010 и оставшиеся 46% в Delphi XE. Переход на XE2 тормозился отсутствием нужных библиотек. Но первое впечатление от Firemonkey  – вау, это обалденно!

В этому же году Embarcadero предоставила Delphi разработчикам возможность подтвердить свои навыки прохождением тестирования и получением сертификата. Подробнее, о сертификации читайте у Александра Алексеева. О прохождении тестирования и получении сертификата в этом году не писал только ленивый, то бишь я.

Интересные Delphi проекты 2011 года

  • Вышел проект DORM, the Delphi ORM (Open Source Apache License 2.0). Описание.
  • В конце года вышла третья версия OmniThreadLibrary (BSD лицензия)
  • В 2011 году был анонсирован (пока доступен только тестерам) интересный проект Object Pascal 4 JavaScript (ныне называется Smart Mobile Studio) позволяющий создавать HTML5 приложения на Object Pascal. Пока неясно, но скорее всего продукт будет коммерческим.
  • В ленте DelphiFeeds.ru появилось несколько новых блогов. Спасибо авторам за труд. =) Меня очень радует, что в ленте постов продолжают появляться публикации официального представителя Embarcadero – Всеволода Леонова. Причём в сравнении с прошлым годом, эти публикации потеряли формально-официальный тон (от чего только приобрели), и стали более живыми, а также обросли техническими подробностями и великолепным стилем изложения. Не знаю как у остальных, а у меня образ Embarcadero из безликой огромной компании превратился в обаятельный образ Севы.
  • Разработка проекта DeHL была официально заморожена. Причина – отсутствие явного интереса от Delphi-сообщества. Исходный код проекта доступен по BSD-лицензии. Автор готов передать проект в хорошие руки. Второй аналогичный проект того же автора – Delphi Collections пока ещё жив. Делайте выводы и пишите посты о хороших продуктах письма с благодарностями авторам используемых вами библиотек.
  • В этом году испортился (точнее, сменил направленность с Delphi на SEO) умер хороший сайт: http://delphiplus.org/

Мои проекты


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

пятница, 27 мая 2011 г.

Текучка 14: Май 2011. Вести с полей.

Это будет пост ни о чём. На 80% оффтопик. На 20% – подведение итогов. whatever.

Have a Seat, Lets Talk... by ...-Wink-..., on Flickr

Интересно, кто сейчас читает мой блог? Как вы оцениваете работу блога? Аналитика от гугла показывает, что в день в среднем происходит около 250 визитов. Но я так понимаю, что львиная доля большая часть этих визитёров – какие-то веб-сервисы. Поэтому хотелось бы составить примерное представление, о числе живых читателей. Оставьте комментарий пожалуйста.

Здесь же можно написать свои пожелания по блогу, если таковые есть. Давно я не предлагал пообщаться в комментах. Вот давайте и пообщаемся как-нибудь. Вот, например, скажите, используете ли вы ModelMaker Code eXplorer? А пробовали ли работать с Lazy Delphi Builder, и каковы впечатления?

О блоге. Сделал отдельную страничку со ссылками на все известные мне статьи о JCL и JVCL.

Влад тут протестировал работу с Google Online Page Speed API из Delphi и зело заинтриговал. Я не знал о такой штуке. Но раз есть API, значит должен быть и сервис. Первый же поисковый запрос вывел на страницу Google Online Page Speed. Интересная штука. Этот инструмент позволяет провести анализ сайта с точки зрения быстродействия, выдаёт список рекомендаций по ускорению работы и даёт оценку быстродействия сайту. Где-то год назад чтобы проверить быстродействие я устанавливал плагин Y!Slow в Firefox. Как оказалось такая же штука уже встроена в Google Chrome. У меня, кстати получилось набрать 86 баллов из 100 (больше - лучше).


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

воскресенье, 6 марта 2011 г.

Итоги 2010 года в TDelphi Blog-e

Я тут подумал, что хорошо бы подвести итоги по прошедшему 2010 году (пусть уже и март на дворе). В прошлом году, я начинал подводить итоги, с мыслью “год, как год – ничего особо и не сделал”, но когда начал вспоминать – оказалось, что список получился весьма внушительный. Этот год прошёл проще. Большая часть событий коснулась сферы личной жизни. В работе и блогосфере не было почти никаких изменений. Последние полгода даже TDelphi-блог был заброшен.

Завёл отдельный бложик для понравившейся музыки. Музыку выкладываю в виде клипов с Youtube. Что-то типа записной книжки, чтобы изредка заходить и переслушивать. Адрес: http://muzyaka.blogspot.com/.

TDelphi-блог

Я уже писал о своём намерении получить от блога какую-то финансовую отдачу и даже подводил в мае неутешительные итоги. Но летом ситуация изменилась. На рекламе в блоге (в основном на Блогуне) удалось заработать примерно 3500 рублей. Эта сумма была бы больше, если б отпуск не затянулся=). Для заработка за год, сумма совсем несерьёзная. Но зато это оказалось для меня хорошим мотиватором к написанию постов. А вот по предложению помощи по переводу программ с BDE на FibPlus заказов не поступало.

В этом году в блоге было опубликовано больше всего статей не связанных с Delphi.

По сравнению с прошлым годом, число посещений в TDelphi-блоге увеличилось почти в 2 раза (см. картинку ниже). Блог переехал на Блогспот в феврале 2009, и первые полгода просто набирал посетителей.

image


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

вторник, 24 августа 2010 г.

TDelphi-блог в отпуске. Кто хорошо отдыхает - тот лучше работает.

Брюссель, центральная площадь

Чудесное жаркое лето. В июле я был в отпуске. Ездил на неделю в Бельгию – страну пива, шоколада и картошки фри. Побывал в Брюсселе (жил там), в Генте, в Льеже и в Брюге. В Брюсселе не мог отделаться от ощущения, что большая часть белых людей ходят с окаменевшим выражением лица и поджав губы, а когда пытаешься перехватить чей-нибудь взгляд и улыбнуться – отводят глаза. Северная часть Бельгии мне понравилась больше – и люди там приветливее и более эмоционально-открыты. Очень понравился Гент. А больше всего Брюге. Брюге вообще показался сказочным городом в котором в игрушечных домиках живут феи, эльфы и гномы, которые с утра до вечера плетут кружева, делают шоколад, жарят картошку фри и варят пиво. А перемещаются по городу исключительно на велосипедах.


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

воскресенье, 4 июля 2010 г.

Итоги весеннего семестра в RTU, по программе Информационные технологии (часть 2).

Day 23 - Exam hall

Image by jackhynes via Flickr

Это продолжение публикации о учёбе в университете. Первая часть (осенний семестр последнего курса) доступна по ссылке: Итоги осеннего семестра в RTU, по программе Информационные технологии.

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

Основы искусственного интеллекта

На втором курсе у меня тоже был предмет с похожим названием. Это был выборный предмет и там мы проходили экспертные системы. Курс "Основ ИИ" был куда серъёзнее.

Краткое содержание курса: история ИИ, пространства состояний, поиск в пространствах, эвристика, схемы отображения знаний и сценарии, логика (предикаты и все-все-все). К сожалению, логике было отведено не так много времени и у меня осталось ощущение скомканности от этой темы.

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


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

среда, 9 июня 2010 г.

Среда обитания TDelphi-блоггера. Фотографии.

Это будет абсолютно лытдыбрный пост, не имеющий никакого отношения к программированию.

Не знаю как вам, а мне например очень любопытно посмотреть, как живут и работают люди чьи блоги я регулярно читаю. Но так как это дело сугубо личное, то я попробую начать с себя и посмотреть, получит ли эта идея продолжение. Тем более что и повод есть - недавно я переехал. И сразу честно признаюсь, фотографии предыдущей квартиры я выкладывать постыдился. =)

Я часто засматривался на фотографии рабочих мест западных блоггеров и думал, что-то вроде вот если б у меня было такое чудесное рабочее место, я бы работал в 500 раз продуктивнее меньше отвлекался и работал более старательно. Я давно подумывал о том, чтобы снять квартиру, в которой бы всё было красиво и удобно, но глядя на арендную плату, решал, что не готов платить столько. О покупке я пока даже и не думаю - не хочу брать кредит на срок больше 5 лет, а брать на меньший доходы пока не позволяют.

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

За фотками добро пожаловать под кат.


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

пятница, 28 мая 2010 г.

Чего не хватает в Delphi

Публикация для конкурса проводимого агрегатором Delphi новостей DelphiFeeds.ru.

Интеграция с SVN

Я говорю не просто о добавлении комманд Update/Commit в какие либо меню. Всё это возможно и в варианте интеграции SVN в Delphi для бедных. Я говорю о широкой визуальной поддержке. Чтобы на Tab-ах редактора и в дереве проекта отображался значок как в TortoiseSVN.

Чтобы изменённые строки в исходниках подсвечивались другим цветом.

Мне понравилось, как сделана интеграция SVN в NetBeans.

Интеграция SVN в IDE NetBeans

SVN команды доступны в отдельном субменю при правом клике как на файле в дереве так по заголовку таба в редакторе.


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

четверг, 27 мая 2010 г.

Delphi 2010: Open Tools API интерфейсы для интеграции системы контроля версий в IDE.

Embarcadero уже долгое время обещает интегрировать поддержку систем контроля версий в Delphi. И эта функция довольно востребована. Официально даже было объявлено, что эта поддержка доступна уже в Delphi 2010. Давайте посмотрим, что приготовила для нас Embarcadero.

Для работы с VCS (Version Control System - системами контроля версий) в файле ToolsApi.pas добавлены 3 интерфейса:

  1. IOTAVersionControlNotifier - интерфейс отвечающий непосредственно за реализацию связи с VCS.
  2. IOTANotifier - базовый интерфейс для уведомлений. Содержит методы позволяющие получать уведомления при изменении файла, его сохранении и закрытии редактора.
  3. IOTAVersionControlServices - сервисный интерфейс, позволяющий подключить и отключить свою реализацию VCS.

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

среда, 26 мая 2010 г.

Одной строкой: о модерации комментариев и рекламе в блоге

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

Favicon

Сегодня наконец настроил отображение favicon-ки в Google Chrome и Firefox.

О рекламе: итоги за полгода

В январе этого года, я начал попытки монетизации этого блога. Пришло время подвести кое-какие итоги.


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

вторник, 25 мая 2010 г.

Заметки о процессе ведения проектов в Delphi. Мой опыт.

Это старый пост из архива, который почему-то не был опубликован. Он немного устарел, и описывает то как я видел процесс разработки 1,5 года назад. Если интересно, то позже я напишу о том, как я вижу этот процесс сейчас.

Как-то так получилось, что в основном, мне приходилось заниматься сопровождать и развивать чужие проекты. А характерным признаком всех моих мест работ было одно – бардак. На всех работах, одним проектом занимался только один программист. У проекта обычно есть руководитель, который формулирует задания. Руководитель кода не знает, и программировать не умеет. В проекте могут участвовать люди, занимающиеся поддержкой и развитием базы данных, тестированием продукта, общением с клиентами и установкой новых версий. Практически все проекты, с которыми я работал, относились к бухгалтерским программам, и напрямую работали с базой данных(Firebird). Обычно в фирме таких проектов было несколько, но общего кода, не считая сторонних компонентов, у них почти не было. Так что у меня нет опыта работы в команде. И практически нет опыта следования процессу разработки. Только на одной из моих работ, для программистов была написана инструкция о том, как правильно работать. Там были как разумные вещи, так и не очень(in my humble opinion). Но, полностью инструкции не следовал ни один из программистов. Поэтому большинство моих рассуждений – это отчаянная попытка придумать велосипед навести порядок и превратить бардак в процесс так, чтобы это не сильно напрягало ни меня, ни других программистов и позволило навести и сохранить порядок в проекте.


Процесс выглядит так:

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

суббота, 22 мая 2010 г.

Текучка 12: Велосипед для езды по минному полю. Или почему не стоит вешать обработчики Application.On...

Это история о том, как один программист, начал изобретать групповой делегат (multicast delegate) для обработки события Application.OnMessage, не зная о том, что подобный класс включён в стандартную поставку Delphi.

Одному программисту понадобилось сделать так, чтобы одна из форм обрабатывала событие Application.OnMessage. Программист не раз встречал подобный код у себя в библиотеках. Обычно это делалось так:

  • в секции юнита initialization, запоминался старый обработчик события
  • затем вешался свой обработчик события, который после выполнения своих операций вызывал запомненный старый обработчик
  • а восстанавливалась цепочка, как правило, в секции finalization

Таких обработчиков могло быть несколько, но все они по цепочке вызывали предыдущий обработчик, и нормально работали при соблюдении правильного порядка инициализации/финализации. В случае с формой, программист решил вешать свой обработчик в кострукторе формы, показывать форму модально, и восстанавливать оригинальный обработчик в деструкторе.


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

суббота, 6 марта 2010 г.

Delphi 2011: Fulcrum. Слухи и фантазии.

Я уже публиковал крупнейший в рунете обзор нововведений в Delphi 2010, теперь пришло время взяться за Delphi 2011. =)

Update: пост изменён 20-го мая, так как предыдущий вариант содержал закрытую информацию Embarcadero. Впрочем, почти вся информация сохранилась и теперь доступна публично. Так как, к этому времени обновился roadmap, я переписал пост, основываясь на официальной официальной дорожной карте Delphi.

Что же нам обещают в "Fulcrum"

  • Кроссплатформенность, использующую технологию cross-compiler для Windows и Mac OS.
    • RAD Studio будет запускаться под Windows.
    • Особое внимание будет уделено возможности создания клиентских программ с GUI, умеющих работать с dbExpress и DataSnap
  • Удалённая отладка и деплоймент приложений для Mac OS
  • Кроссплатформенный аналог VCL
  • Полное решение/интерфейс для управления исходным кодом
  • Автоматическая генерация юнит-тестов
  • Поддержка гибкого моделирования с генерированием диаграмм последовательности (англ: sequence diagram)
  • создание REST серверов
  • Поддержка облачных вычислений: интеграция с Microsoft Azure.

А вот список того, что запланировано на последующие релизы:

  • 64-битный компилятор - 1я половина 2011 года
  • Компиляция для Linux-a - следующая версия Delphi "Wheelhouse"
  • серверная часть Datasnap для Linux и MacOS - в "Wheelhouse"

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

суббота, 27 февраля 2010 г.

А Вы хорошо знаете календарь в Windows?

Меня по работе несколько раз просили заменить стандартный TDateTimePicker на RxLib-овский, потому в стандартном якобы неудобно менять год. Как оказалось, просившие не знали об одном свойстве стандартного календаря.

Знаете ли вы, что если кликнуть по заголовку календаря, там где год и месяц, то календарь позволит выбрать месяц. А если кликнуть ещё раз, то можно будет выбрать год из текущего десятилетия. А если ещё раз, то можно будет выбрать десятилетие, при этом стрелки сверху будут менять столетия. Проверял в Windows XP и Vista.

То же самое будет если нажать Ctrl + стрелка вверх/вниз.

Календарь - выбор числа

Календарь - выбор месяца

Календарь - выбор года Календарь - выбор столетия

А ещё, TDateTimePicker не позволяет выбрать дату до 14 сентября 1752 года. А вот компонент TjvDateEdit из бесплатной библиотеки JVCL такого ограничения не имеет.


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

воскресенье, 21 февраля 2010 г.

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