Третьего дня я стал обладателем смартфона Gigabyte GSmart S1205, работающего под чутким управлением Win Mobile 6.5. Собственно, из-за ОС я его и покупал, а поддержка двух карточек рассматривалась как приятный бонус.
Любой нормальный человек, очевидно, сначала позаботиться о переносе контактов со старого телефона на новый, настройкой аппарата и т.д. Я не из таких. Первое, что я сделал попытался написать “Hello World!” для Win Mobile 6.5. Поскольку в этом году у меня появилось сразу три версии Delphi Prism (в том числе и XE), выбирать на чем писать долго не пришлось.
Сразу замечу, что Интернет не особо изобилует солюшнами по написанию Win Mobile приложений в Delphi Prism. Более того, на странице справки(в настоящее время ссылка не доступна) сказано о “некоторых ограничениях” при работе с Compact Framework. Тем не менее, на сайте Embarcadero есть видео, демонстрирующее создание нескольких тестовых приложений для .Net CF.
Казалось бы, что может быть проще… Делай как на видео… На практике же оказалось не все так хорошо.
Я не буду пересказывать содержание видео. Его лучше внимательно посмотреть.
Как вы знаете, Delphi Prism XE может использовать как Visual Studio 2010 Shell, так и Visual Studio 2008 Shell.
Но, Visual Studio 2010 не поддерживает разработку мобильных приложений для Win Mobile версий младше Windows Phone OS 7.0 /http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/3b5adaa3-e85a-4348-94ff-315b0f7c781d/.
Поэтому для того, что бы повторить пример необходимо запускать Delphi Prism in Visual Studio 2008. Кроме того, мне не удалось повторить трюк с отключением проверки версий .Net Framework при запуске приложения. Поэтому пришлось переопределить все сборки, взяв их из набора Compact Framework.
В Solution Explorer в секции references удалите сборки, которые подключены автоматически при создании проекта и используя Add Reference из контекстного меню добавьте соответствующие библиотеки из Compact Framework (они расположены в одноименных *.dll файлах).
После проделанных операций и изменения кода (как на видео), тестовое приложение заработало в эмуляторе мобильного устройства, но, естественно, отказалось работать под обычной Windows.
А вот с Delpoyment, как раз, проблемы не возникли. Я синхронизировал телефон под Windows 7, и актуальный Compact Framwork автоматически был установлен на телефон. После чего приложение успешно запустилось.
И попутно еще маленькая ремарка, в контексте упомянутой выше Visual Studio… Лицензия Visual Studio 2010 Express не предусматривает возможности разработки коммерческих приложений.
Так что, если для тех, кто действительно работает с VS – спешите купить Visual Studio 2010 Professional со скидкой 60% до Нового Года.
Так же до Нового Года вы можете при покупке одного из продуктов Embarcadero, получить в подарок еще один продукт (почему бы не Delphi Prism?).
Я еще планирую немного поэкспериментировать с написанием мобильных приложений в Delphi Prism, и, конечно, рассказать о результатах здесь.
Net Framework, Compact Framework – в этом смысле полный геморой…
А под этот девайс можно на чём то другом программировать?
Java. А вот нативный код я так и не понял, можно-ли…