8. Запустив приложение, можно убедиться, что на экран выводится сообщение. При нажатии кнопки No приложение завершает свою работу, а при нажатии кнопки Yes на экран выводится новая форма.
Вызов из проекта eVB функций CE API
Несмотря на то, что eVB это очень простой язык, он позволяет применять в проектах компоненты ActiveX и вызывать функции из библиотек, написанных на других языках. К библиотекам, из которых eVB может вызывать функции, относятся и системные библиотеки Windows CE, содержащие функции CE API.
Для вызова функций CE API надо объявить функцию при помощи директивы declare и вызвать функцию, передав ей правильные параметры.
В нашем приложении будет использован вызов функции CE API PlaySound в той ветви выбора If, где форма на экран не выводится. Соответствующий код приведен в листинге 3.32.
Сразу после строки Option Explicit из библиотеки Coredll.dll была вызвана функция PlaySoundW, которую потом объявили заново с именем PlaySound. В приложении эту функцию вызывали четыре раза для проигрывания четырех звуковых файлов, входящих в стандартную поставку Pocket PC.
Список функций CE API и назначение передаваемых параметров можно найти в файле справочной системы WCESDKR.CHM, который располагается в подкаталоге \Windows CE Files\Htmlhelp\emtools установочного каталога SDK. Также стоит посмотреть файл WINCEAPI.TXT (подкаталог Windows CE Files\BIN установочного каталога SDK), в котором уже декларированы большинство функций и констант CE API.
Листинг 3.32Option Explicit
Declare Function PlaySound Lib «Coredll» Alias «PlaySoundW» (ByVal lpszName As String,
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Sub Main
If MsgBox(«Вывести на экран форму?», vbYesNo) = vbYes Then
Form1.Show
Else
PlaySound «Alarm1.wav», 0, 0
PlaySound «Alarm2.wav», 0, 0
PlaySound «Alarm3.wav», 0, 0
PlaySound «Alarm4.wav», 0, 0
App.End
End If
End SubОтладка приложений в eVB
Отладка приложений в eVB довольно проста. После нажатия кнопки
режим отладки включается автоматически. В зависимости от того, какое устройство было выбрано в списке Devices, отладка происходит на эмуляторе или на подключенном к настольному компьютеру Pocket PC. Разработчик должен лишь расставить в нужных местах программы точки останова, проследить за правильностью передачи управления, корректностью передаваемых параметров и предсказуемостью изменения значений переменных. В eVB для этого есть все необходимые инструменты.
Упражнение 3.8
1. Изменить код проекта, который был создан в упражнении 3.7, так, как это показано в листинге 3.33.
Листинг 3.33
Sub Main
Dim A, B As Integer
Dim C As Double
If MsgBox(«Вывести на экран форму?», vbYesNo) = vbYes Then
Form1.Show
Else
PlaySound «Alarm1.wav», 0, 0
PlaySound «Alarm2.wav», 0, 0
PlaySound «Alarm3.wav», 0, 0
PlaySound «Alarm4.wav», 0, 0
A = 10
B = 20
C = Mult(A, B)
App.End
End If
End Sub
Function Mult(ByVal One, Two As Integer) As Double
One = One + 5
Two = Two – 3
Mult = (One * 10 + Two * 10) / Add(One, Two)
End Function
Function Add(ByVal my1, my2 As Integer) As Double
Add = Sqr(my1) + Sqr(my2)
End Function