Forward Pass, what's this ?
Forward Pass est un environnement de développement pour les
machines Pocket PC. Il utilise la même syntaxe que eVB
(Embedded Visual Basic de Microsoft), et y ajoute quelques extensions
assez puissantes et pratiques.
Forward Pass est distribué par la société Forward Pass Systems. Vous pouvez d'ailleur télécharger depuis
le site de cette société une version d'évaluation.
La grande différence entre Forward Pass et eVB est qu'avec Forward Pass l'environnement de développement tourne sur le Pocket PC
(interface et code). Il existe un éditeur de code sur PC qui
vous permettra de taper (plus vite et mieux) le code de votre application
Forward Pass, mais en ce qui concerne l'interface, vous devrez impérativement
la créer directement depuis le Pocket PC.
Forward Pass, premier contact
 |
L'installation depuis le PC s'effectue de manière toute
à fait classique.
Elle ajoute sur le PC un éditeur de code, et sur le Pocket
PC l'environnement de développement et les bibliothèques
d'exécution.
Forward Pass utilise la même librairie VBScript que eVB
(ce qui explique la syntaxe 100% identique malgré certains
mots clés différents).
|
Forward Pass = développer directement sur le Pocket PC
 |
Ce qui est sympa avec Forward Pass , c'est que vous développez
directement sur votre Pocket PC. Il est vrai qu'avec une machine
sans clavier ce n'est pas très simple (du moins au début),
mais cette performance mérite qu'on la souligne. Lorsque
vous êtes connecté au PC de bureau, ou à votre
PC perso vous pouvez utiliser un éditeur de code qui sait
télécharger depuis le Pocket PC vers le PC et inversement
le code Forward Pass du projet en cours de développement.
Ceci permet de taper le code de l'application dans un confort
non négligeable.
Lorsque vous créez l'interface graphique, depuis votre
Pocket PC, et que vous voulez coder la réponse à
un événement, Forward Pass, contrairement à
eVB, vous laisse taper 100% du code, déclaration des SUB
événement comprises. Il faut donc avoir un bonne
mémoire pour se souvenir des noms des événements
supportés par un contrôle et de leur déclaration
exacte, ex Private Sub BtnQuitter_Click() pour réagir à
un click sur le bouton "BtnQuitter".
|
Ne vous attendez pas à l'aide à la frappe que eVB vous
offre, ici il n'y en a pas. Malgré cela, les développeurs
eVB seront très vite à l'aise car la syntaxe est à
99% la même. Et pour les petits nouveaux la syntaxe du basic sera
très vite comprise.
Créer l'interface graphique depuis votre Pocket PC
 |
La création de l'interface graphique est aussi simple
à utiliser que possible. Le positionnement des contrôles
avec le stylet n'est pas toujours des plus simple mais avec un
peu d'entrainement il est possible de créer des écrans
compliqués dans de bonnes conditions.
Le menu "Add" permet d'ajouter un contrôle sur
la feuille. Vous pouvez ajouter les contrôles Button, TextBox,
ComboBox, ListBox, RadioButton, CheckBox, Label, GroupBox (Frame),
ImageBox, DatePicker, TimePicker, Month, ProgressBar, TrackBar,
UpDown, et aussi tous les contrôles ActiveX comme par exemple
FileSystem, ImageList, ListView, etc...
Un double-click sur un contrôle Affiche une page de propriétés
(différente suivant le contrôle concerné)
qui permet de lui donner un nom logique, et des valeurs à
certaines propriétés (comme le Caption pour un Label
par exemple).
|
|
Ce type de saisie n'est pas aussi simple que celle que propose
eVB mais il ne faut pas oublier que cette saisie se fait directement
depuis le Pocket PC !
Il est possible de copier/coller un contrôle. Il n'y a
pas la notion de tableaux de contrôles qui permet de donner
à plusieurs contrôles le même nom et d'y accéder
par un numéro d'index mais on s'y était déjà
habitué avec eVB qui ne l'offre pas non plus.
Des flèches permettent de passer d'une fenêtre à
l'autre (une application peut-être composée de plusieurs
fenêtres bien sûr), un bouton permet de passer à
l'éditeur de code (le même code toutes fenêtres
confondues), et pour finir, un dernier bouton permet de passer
alternativement du mode conception au mode exécution.
|

|
Une
gestion spéciale des menus et des timers
Avec Forward Pass, il existe un objet Application (App) qui possède
des événements (Open, Menu, Timer). C'est par l'intermédiaire
de cet objet qu'il faut gérer les menus et les timers. Au démarrage
de l'application un événement App_Open est généré.
Cet à partir de cet événement que vous pouvez créer
vos menu (attention, 1 menu global pour toutes les fenêtres, à
vous de gérer ce qui doit être visible ou non d'une fenêtre
à l'autre). Lorsque l'utilisateur click sur un menu, c'est l'événement
App_Menu(ID) qui est généré. Comme chaque item
de menu possède un ID unique (c'est vous qui le donnez à
la création de l'item), vous pouvez déterminer l'action
à éffectuer.
Il est en est de même avec les timers qui sont créés
à volonté par un instruction SetTimer. Chaque timer possède
un numéro unique et c'est l'événement App_Timer(ID)
qui est généré quand le timer ID arrive à
échéance.
Conclusion de cette prise de contact
Forward Pass est un système de développement très
simple à utiliser qui reprend la syntaxe du Basic. Il est vendu
au prix de 39,95$, ce qui est très honnête (je sais, le
gratuit y a pas mieux, mais bon...) et il permet de réaliser
des applications au look très sympatique (je vous conseille de
tester les exemples de la version de démo, vous allez être
agréablement surpris).
Pour le moment je n'ai pas trouvé de moyen de cacher le code
à l'utilisateur (il y a toujours une icône qui permet de
basculer du mode exécution au mode conception) et si ce n'est
pas possible c'est un problème. Si quelqu'un trouve comment faire
pour éviter ça qu'il me le fasse savoir par mail (merci
d'avance).
Si vous êtres nombreux à apprécier cet outil de
développement Pocket PC un forum sera ouvert le concernant. Je
compte sur vous pour me le faire savoir (merci d'avance bis).
Stéphane
Sibué