Delphi Prism и Win Mobile

altТретьего дня я стал обладателем смартфона 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 не предусматривает возможности разработки коммерческих приложений.

Понравилась статья? Поделиться с друзьями: