Мобильное программирование: Программирование на Visual Basic для Microsoft Windows CE

Источник: mobilab

Чтобы разрабатывать приложения для Microsoft Windows CE, Вам достаточно иметь Microsoft Windows CE Toolkit for Visual Basic 6.0. Имея этот набор инструментов, Вы сможете писать программы для большинства существующих устройств, работающих под управлением Windows CE, включая H/PC (Windows CE 2.0 или позже), H/PC Pro (Windows CE 2.11 или позже), P/PC (Windows CE 2.11 или позже).  В состав Windows CE Toolkit for Visual Basic 6.0 входят все необходимые утилиты для комфортной разработки VB-CE приложений: Application Install Wizard, CE Spy, Registry Editor, Remote Zoom, и многие другие. За все это добро Microsoft просит $200 ($99 в случае обновления; бесплатно для подписчиков Universal Subscription to MSDN).

Особенности

Существующая версия Toolkit работает только под управлением Windows NT/2000. После автоматической установки Microsoft Windows CE Toolkit for Visual Basic 6.0 не требует конфигурирования и готов к работе. Для запуска достаточно выбрать меню Пуск->Программы->Microsoft Visual Studio 6.0 Start. Обратите внимание, что сразу после установки VB Toolkit автоматически запускается установка H/PC SDK. Вы можете отменить ее, если не планируете разрабатывать программы для этой платформы. SDK для других платформ можно бесплатно скачать с msdn.microsoft.com/cetools (В настоящее время имеются VB SDK для H/PC, H/PC Pro и P/PC.)

Поговорим об отличиях в разработке Visual Basic программ для десктопов и для мобильных устройств. Основное отличие заключается в том, что в CE нет никаких VB runtime DLL. Вместо того чтобы запихивать громоздкую msvbvm60.dll (1.34 MB)в мобильное устройство, Microsoft предлагает использовать VBScript dll (417 KB). Это позволяет значительно сократить размер инсталляционных пакетов. Между тем, Вы лишаетесь нескольких удобных механизмов: при разработке VB CE приложений нельзя использовать ловушки ошибок ( On Error Goto MyErrorTrap больше не работает), и статименты Dir и End (для быстрого завершения приложения).

Не расстраивайтесь, VBScript очень богатый язык. На самом деле Вы ни чего не лишились, просто придется освоить несколько новых приемов.

При разработки CE приложений Вы должны стремиться всеми способами уменьшить их размер.

Перейдем к хорошим новостям. CE Toolkit for VB 6.0 позволяет использовать привычные компоненты (Frame, Label, Line, CommandButton, ListBox, Menu, OptionButton, Scrollbar, Shape, TextBox, Timer) или ActiveX (CommandBar, File, FileSystem, Image, PictureBox, Winsock). Помимо этого в "ActiveX Control Pack" включены элементы управления Grid, TabStrip, TreeView, ListView, ImageList, и CommonDialog. Попрощайтесь с Directory, Drive, File List Boxes, Data control и OLE control. Вы также сможете работать с базами данных. В CE есть специальная версия ADO. Если у Вас есть собственные ActiveX Control, которые Вы хотели бы использовать, обратитесь к C++. Visual Basic CE не позволяет использовать дополнительные ActiveX Control.

Другим досадным моментом является невозможность использования стандартного VB debugger-а. В состав Toolkit входит специальный debugger для работы с Windows CE. Фактически это самостоятельная программа, которая запускается отдельно от VB IDE. Вы можете установить точки остановки в CE debugger-е (обычный VB механизм не сработает). Надо сказать, что это не доставляет особых неудобств и через некоторое время, Вы к этому привыкните.

Пример VBCE приложения

Для того, чтобы запустить пример, Вам понадобятся P/PC SDK и ADOCE SDK. Скопируйте файл vbce.mdb в папку "My Documents". Скачать пример (10 KB).

Для этой статьи я написал очень простое VBCE приложение, работающее с базой данных. Я использовал ADOCE Control. В качестве целевой платформы я выбрал P/PC, поэтому моя программа без проблем запустится на новых Windows CE устройствах. Приложение состоит из формы, совмещенной с CommandBar (Microsoft рекомендует использовать command bar для P/PC; в H/PC и H/PC Pro этого не требуется). На форме размещено несколько Label и TextBox для отображения содержимого базы данных, и несколько CommandButton для перемещения от записи к записи. Я также разместил на форме CommonDialog Control и добавил кнопку Help на CommandBar.


Рис 1 - Форма VBCE приложения

Код приложения достаточно прост, тем не менее, мне бы хотелось остановиться на некоторых моментах. CommandBar - это удобный маленький элемент управления, который позволяет Вам размещать меню, выпадающие меню и кнопки для управления приложением. В данном приложении я добавил пункт меню File->Exit, чтобы показать Вам что к чему. В обработчик Form_Load вставлены элементы меню:

'растягиваем командную панель по ширине формы
CommandBar1.Width = Me.Width

'добавляем меню
Dim M As CommandBarMenuBar
Set M = CommandBar1.Controls.Add(cbrMenuBar)
Dim mnuFile
Set mnuFile = M.Items.Add(, "mnuFile", "File")
mnuFile.SubItems.Add , "mnuExit", "Exit"

Как вы наверно поняли, для добавления нового элемента служит строка

items.Add([index], [key], [caption], [style])

Убедитесь, что задан параметр Key, поскольку в противном случае вы не сможете отловить событие выбора меню: CommandBar_MenuClick.

If Item.Key = "mnuExit" Then
Очистка
rs.Close
Set rs = Nothing
'App.End вызывает завершение программы.
App.End
End If

Обратите внимание на строку App.End. Это единственный способ завершить приложение. Ниже приведено несколько полезных советов. Старайтесь следовать им при разработки приложений для Windows CE

  • Устанавливайте свойство формы BorderStyle в 0 - это приведет к максимизации формы и пользователь не сможет щелкнуть мимо нее.
  • Старайтесь писать как можно короче. Если в программе можно обойтись без какой-либо функции - не программируйте ее. Помните, что разрабатываете приложение для устройства с сильно ограниченной памятью.
  • Помните, что на разных устройствах размер вашей формы может быть различным. Это связано с разницей в разрешениях экранов.
  • Помните о том, что к КПК не подключена мышь.
  • Сведите к минимуму данные, которые должен вводить пользователь. Никто не станет писать книгу на КПК - для этого есть настольные компьютеры.
  • Задайте в имя своего приложения в свойстве Form.Caption главной формы. Именно это значение будет отображаться в менеджере задач.

Распространение вашего VBCE приложения

Toolkit содержит очень полезный Application Install Wizard. Занимая очень мало места, этот мастер обеспечит вас привычными функциями стандартного Visual Studio Package and Deployment Wizard. Вы можете выбрать папку, куда будут копироваться файлы Вашего приложения, установить дополнительные ActiveX компоненты и файлы, а также указать, нужно ли копировать выполняемые VBCE файлы.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=2376