Le premier site francophone dédié au développement Pocket PC


Comment développer pour Pocket PC 2002 sous Windows 98 ?
t


Le développement pour plusieurs plates-formes

Ce qui est très bien avec eVB c'est de pouvoir développer pour plusieurs plates-formes cibles. Vous pouvez sans problème développer une application pour Pocket PC 2000, Pocket PC 2002, Handheld PC 2000 ou encore pour les anciens Palm Size PC. eVB est en lui même très général (c'est pour celà qu'il accepte sans broncher des instructions qui au final ne sont pas reconnues par le système cible). La "passerelle" entre eVB et le système cible est géré par ce qu'on appelle le SDK (System Development Kit). Pour chaque cible, chaque plate-forme, il y a un SDK à installer.

Les projets eVB sont spécifiques à une plate-forme

Lorsque vous créez un nouveau projet sous eVB, vous devez choisir la cible concernée (pour les projets sans fenêtre, les "Formless projects", le principe est légèrement différent, mais au final revient au même). A partir de là, votre projet ne pourra pas être lancé et/ou déboggué vers une autre cible que cette stipulée lors de la création du projet. Si vous essayez de lancer le projet depuis eVB, et que la plate-forme cible n'est pas la bonne, vous obtenez ce message (pas très agréable) :

2 SDK pour les Pocket PC

Comme vous le savez déjà, Microsoft met à notre disposition un SDK pour Pocket PC 2000 (le SDK d'origine fourni avec les Embedded Visual Tools) et un autre (plus récent) pour Pocket PC 2002. Le SDK Pocket PC 2002 apporte à eVC++ des éléments supplémentaires permettant aux développeurs de tirer partie des nouvelles fonctionnalités du système Pocket PC 2002. Par contre eVB ne tire rien de particulier de ce SDK, pas de nouvelles fonctions, pas de nouvelles commandes (à moins que je n'ai pas tout vu). Le pire dans tout ça, c'est que pour utiliser le SDK Pocket PC 2002 vous devez impérativement l'installer sur une machine NT, 2000 ou XP. Si votre ordinateur de développement eVB tourne sous Windows 98 SE vous êtes "bagués" et la seule solution est d'installer le bon OS sur votre machine, à moins que...

Faire croire à eVB que votre Pocket PC 2002 est un Pocket PC 2000

La seule solution est de continuer à développer avec le SDK Pocket PC 2000, même si votre machine cible est un Pocket PC 2002, et de trouver le moyen de faire croire à eVB que votre cible est la bonne. Pour celà il y a un moyen.

Vous devez modifier une valeur dans la base de registre de votre Pocket PC 2002. Pour celà vous pouvez utiliser l'utilitaire "Registry Editor" qui permet de gérer la base de registre de votre Pocket PC à partir de votre PC de développement.

Pour lancer cet utilitaire depuis eVB, suivez les menu Tools->Remote Tools->Registry Editor...

Une fois le "Registry Editor" lancé, connectez le à votre Pocket PC (méthode classique commune à tous les utilitaires des eVT) et placez-vous sur la clé "HKEY_LOCAL_MACHINE\Windows CE Tools"


C'est la valeur "Platform" qui indique à eVB si la cible est la bonne. Les valeurs possibles pour les Pocket PC sont les suivantes :

Plate-forme Valeur de la clé "Platform"
Pocket PC 2000 {6D5C6210-E14B-11d2-B72A-0000F8026CEE}
Pocket PC 2002 {DE9660AC-85D3-4C63-A6AF-46A3B3B83737}

Il vous suffit donc de remplacer la clé correspondant à la plate-forme Pocket PC 2002 par celle de la plate-forme Pocket PC 2000 :

Une fois cette opération réalisée, vous devez effectuer un soft reset (reset simple, vous ne perdez pas de données) de votre Pocket PC 2002 pour que eVB le voit comme un Pocket PC 2000, et ce tant que vous ne rechangez pas cette valeur dans la base de registre.

Conclusion

Bien, maintenant nous ne sommes plus obligés de tout réinstaller notre PC de développement pour développer avec eVB des application pour un Pocket PC 2002. Gain de temps, et aussi pas tout le monde à sous la main une licence Windows 2000 ou XP, donc gain d'argent...

 

Stéphane Sibué

   
 
 
Copyright 2001-2004 - Tous droits réservés
 

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.