Difference between revisions of "Windows CE Interface/fr"

From Free Pascal wiki
Jump to navigationJump to search
 
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Windows CE Interface}}
 
{{Windows CE Interface}}
  
== Setting Up the Windows CE interface ==
+
== Introduction ==
 +
La mise au point de l'interface Windows CE a été commencé par [[user:Sekelsenmat|Felipe Monteiro de Carvalho]] et s'est poursuivie par Roozbeh et d'autres contributeurs. L'interface a commencé en 2006 avec un compilateur FPC pour Windows CE encore en développement. Une version stable du compilateur a été réalisée en 2007, ce qui a rendu possible de réaliser une extension (add-on) pour WinCE avec la version 0.9.24 de Lazarus.
  
To set up the Windows CE interface you will need to either use the add-on installer or set up the interface manually. Both options are detailed below. Using the add-on installer is, of course, much easier.
+
En raison d'une mauvaise expérience avec le partage de code entre différentes interfaces dans le passé avec les interfaces gtk/gtk2, il a été décidé de commencer avec un code propre à WinCE. Comme les API sont très similaires, une grande partie du code de l'interface WinCE provient de l'interface Win32/64.
  
=== Using the add-on installer ===
+
{{Other Interfaces/fr}}
  
Step-by-step guide:
+
== Configuration de l'interface Windows CE ==
  
* Install Lazarus on Windows normally.
+
Pour configurer l'interface Windows CE, vous devez soit utiliser l'installateur d'extension, soit configurer l'interface manuellement. Les deux options sont détaillées ci-dessous. L'utilisation de l'extension est, bien sur, plus simple.
  
* Download and install the add-on installer for the lazarus windows: ftp://ftp.hu.freepascal.org/pub/lazarus/cross/. <br>These files are mirrored at<br> http://michael-ep3.physik.uni-halle.de/Lazarus/cross/
+
=== Utilisation de l'installateur d'extension ===
  
* You can compile win32 application and arm-wince application from within Lazarus by changing in the compiler options:
+
Avec la première release de Free Pascal pour Windows CE, l'installation d'un environnement de développement pour WinCe n'a jamais été aussi simple.
** Widget set
 
** Target OS
 
** Target CPU
 
  
Note: make sure that both installers have the same fpc version.
+
Guidage pas à pas:
  
=== Setting up the Windows CE interface manually ===
+
* Installer la dernière version de Lazarus pour windows à partir de SourceForge: http://sourceforge.net/project/showfiles.php?group_id=89339
  
The Compiler and Run-time library for Windows CE are only available on the development branch of Free Pascal, the 2.1.x version. Lazarus snapshot comes with this Free Pascal version.
+
* Télécharger et installer l'installateur d'extension pour la version Lazarus téléchargée. Il est situé sur la même page SourceForge.
  
 +
* Vous pouvez maintenant compiler des applications Win32 et des applications arm-wince à partir de Lazarus en modifiant les options du compilateur:
 +
** Widget set: wince
 +
** Target OS: wince
 +
** Target CPU: arm
  
'''Step 1''' - To start with you will need to recompile the compiler on Windows to create a Windows CE - ARM Crosscompiler. There are instructions here: [[fpc:WinCE_port|WinCE_port]].
+
=== Configurer manuellement l'interface Windows CE ===
 +
''traduction approximative - je n'ai pas essayé cette procédure'' -
  
'''Step 2''' - You also need to compile FCL (Free Component Library) with the newly built compile. Instructions [[fpc:WinCE_port#Building_FPC_libraries|here]].
+
Alors que la version 0.9.24 a été réalisée avec la version 2.2.0 stable du compilateur FPC pour windows CE, la version de développement de Lazarus requiert maintenant la version 2.2.1 ou ultérieure de FPC. Vous trouverez ici les instructions pour mettre à jour cet environnement :
  
'''Step 3''' - Put the batch file bellow on the root of your subversion lazarus directory and run it
+
'''Etape 1''' - Pour commencer, vous devez recompiler le compilateur pour Windows pour créer un "cross-compilateur" Windows CE- ARM. Les instructions sont ici : [[WinCE port]].
 +
 
 +
* Utiliser TortoiseSVN pour récupérer la dernière version 2.2.1 : http://svn.freepascal.org/svn/fpc/branches/fixes_2_2/
 +
 
 +
* Créer alors un script comme celui pour construire votre compilateur à partir de la version FPC 2.2.0 installée (aussi bien à partir de Lazarus que d'une installation séparée):
 +
 
 +
<pre>
 +
cd compiler
 +
PATH=C:\Programas\lazarus220\fpc\2.2.0\bin\i386-win32
 +
make cycle CPU_TARGET=arm OS_TARGET=wince
 +
cd ..
 +
pause
 +
</pre>
 +
 
 +
'''Etape 2''' - Vous avez besoin de compiler FCL (Free Component Library) avec la nouvelle compilation. Instructions [[WinCE port#Building_FPC_libraries|ici]].
 +
 
 +
* Cet astucieux script rend cela plus facile (ne pas oublier de mettre les chemins correspondants à votre machine). OPT="-FU... placera toutes les unités au même emplacement, ce qui est très pratique. :
 +
 
 +
<pre>
 +
cd packages
 +
PATH=C:\Programas\lazarus220\fpc\2.2.1\bin\i386-win32
 +
make clean all CPU_TARGET=arm OS_TARGET=wince PP=ppcrossarm.exe OPT="-FUC:\Programas\lazarus220\fpc\2.2.1\units\arm-wince"
 +
cd ..
 +
pause
 +
</pre>
 +
 
 +
'''Etape 3''' - Placer le fichier script ci-dessous à la racine de votre dossier Lazarus et exécuter le :
  
 
<pre>
 
<pre>
Line 36: Line 65:
 
</pre>
 
</pre>
  
This should compile LCL for Windows CE.
+
Cela devrait compiler LCL pour Windows CE.
  
'''Step 4''' - Cross-compile the LazarusPackageIntf so you can use 3rd party visual components. Go to lazarus\packager\registration and do:
+
'''Etape 4''' - "Cross-compiler"  le LazarusPackageIntf et vous pourrez utiliser les composants visuels de la 3rd party. aller dans lazarus\packager\registration et faire:
  
 
<pre>
 
<pre>
Line 45: Line 74:
 
</pre>
 
</pre>
  
NOTE: you need to specify $(LazarusDir)\packager\units\$(TargetCPU)-$(TargetOS)\ into your project's unit path (adding FCL as requirement should do that).
+
NOTE: vous devez spécifier dans votre chemin vers les unités des projets $(LazarusDir)\packager\units\$(TargetCPU)-$(TargetOS)\ (ajouter FCL devrait faire cela).
  
'''Step 5''' - Now you can use lazarus IDE to design,compile and debug your applications.
+
'''Etape 5''' - Maintenant, vous pouvez utiliser l'IDE Lazarus pour définir, compiler et déboguer votre application.
  
* You can also use scripts similar to this for compiling your applications:
+
* Vous pouvez aussi utiliser des scripts similaire pour complier vos applications:
  
 
<pre>
 
<pre>
Line 57: Line 86:
 
</pre>
 
</pre>
  
=== Compiling Windows CE project files with Lazarus IDE ===
+
=== Compiler un projet Windows CE avec l'IDE Lazarus ===
  
NOTE: recently a "wincemenures.or" file is reported missing on linking. You just need to copy this file from "lazarus/lcl/interfaces/wince" to "lazarus/lcl/units/arm-wince" and everything will be fine.
+
REMARQUE : récemment, un fichier "wincemenures.or" est indiqué manquant lors de l'édition de lien (linking). Vous devez juste copié ce fichier de "lazarus/lcl/interfaces/wince" vers "lazarus/lcl/units/arm-wince" et tout devrait alors fonctionner.
  
Everything is just as you do with other interfaces and oses.
+
Tout fonctionne comme avec les autres interfaces et OS.
Make sure you have selected wince as widgetset in in '''Compiler Options->Paths''' and in '''Code''' tab page select '''WinCE''' as target os and '''arm''' as Target CPU.
+
Vérifier que vous avez bien sélectionner wince dans le champ Type composant graphique (LCL) divers dans l'onglet Chemins du menu '''Projet > Option du compilateur...''' et dans l'onglet '''Code''' sélectionner '''WinCE''' comme OS de destination et '''arm''' comme CPU de destination.
You also need to change '''compiler path''' in '''Environment options''' to point to your ppcrossarm.exe compiler.
+
Vous devez aussi changer le '''Chemin du compilateur''' dans le menu ''' Outils > Options d'environnement...''' pour pointer sur le compilateur ppcrossarm.exe compiler.
  
Now IDE is ready to compiler your files.
+
L'IDE est maintenant prêt pour compiler vos projet Windows CE.
  
=== Debbuging Windows CE software on the Lazarus IDE ===
+
=== Débogage d'un logiciel pour Windows CE à partir de l'IDE  Lazarus ===
  
You can also debug applications created whithin Lazarus IDE.
+
Vous pouvez aussi déboguer des applications créer avec l'IDE Lazarus.
  
'''Step 1''' - In Lazarus IDE go to the menu '''Environment->Debugger Options'''. Change the debugger path to the directory with gdb for wince.you can get it from here ftp://ftp.freepascal.org/pub/fpc/contrib/cross/gdb-6.4-win32-arm-wince.zip
+
'''Etape 1''' - Dans l'IDE Lazarus, aller au menu '''Configuration > Option du débogueur...'''. Modifiez le chemin du débogueur pour pointer sur le dossier où se trouve gdb pour WinCE. Vous pouvez vous procurer ce débogueur ici ftp://ftp.freepascal.org/pub/fpc/contrib/cross/gdb-6.4-win32-arm-wince.zip
  
  
'''Step 2''' - If you are using Microsoft Device Emulator Preview, launch(or restore)it.Make sure you've started emulator with 128mg of ram.Select a path for shared folders in emulator, add copy command to your .bat file used for building your application to copy the compiled exe file to your shared path.(as you can see in my .bat file).Here is a .bat file you can use to launch emulator with 128 of ram.
+
'''Etape 2''' - Si vous utilisiez Microsoft Device Emulator précédemment, lancez-le (ou relancez-le). Vérifiez que vous lancer l'émulateur avec 128mo de ram. Sélectionnez un dossier pour le partage de fichiers dans l'émulateur, et copiez la commande dans votre fichier .bat utilisé pour construire le fichier exe compilé dans votre dossier partagé, add copy command to your .bat file used for building your application to copy the compiled exe file to your shared path.(as you can see in my .bat file). Vous avez ci-desous un fichier .bat que vous pouvez utiliser pour démarrer l'émulateur avec 128mo de ram.
  
 
<pre>
 
<pre>
Line 81: Line 110:
 
</pre>
 
</pre>
  
After that just do 'save and exit' whenever you want to quit emulator,and launch it again from shortcuts created in your start menu.(the shortcuts with '(restore)').
+
Après cela, il suffit de choisir 'save and exit' lorsque vous voulez quitter l'émulateur. Pour le relancer, on pourra le faire à partir des raccourcis créés dans votre menu Démarrer.(raccourci avec '(restore)').
  
'''Step 3''' - Run Device Emulator Manager and in available emulators right click on the name of emulator and do cradle.Now Microsoft ActiveSync will be launched.If not in Micrososft ActiveSync Go to the menu '''File->Get connected'''.If still ActiveSync doesnt recognize the emulator.Uncradle and Cradle the emulator again.
+
'''Etape 3''' - Lancez le programme '''Device Emulator Manager''' et dans la liste des émulateurs disponible, cliquer avec le bouton droit sur le nom de l'émulateur et choisir la fonction '''cradle'''. Le logiciel Microsoft ActiveSync doit maintenant être lancé. Si il ne se passe rien dans ActiveSync, allez dans le menu '''File->Get connected'''. Si cela ne uffit pas pour qu'Activesync reconnaisse l'émulateur, choisir dans le menu Actions, la fonction Uncradle puis Cradle dans l'émulateur.
  
'''Step 4''' - Copy that file with File Explorer program in your emulator to \gdb directory.If it is your first time running emulator you have to create a gdb directory in 'My Pocket PC' folder which is your root(\) folder.(To make things even faster for your each build,with file explorer go to your shared folder,press ctrl+c in your exe file,go to \gdb folder and each time before you try to debug your application just press ctrl+v)
+
'''Etape 4''' - Copiez le fichier exe compilé avec l'explorateur de fichiers dans votre émulateur dans le dossier \gdb. Si c'est la première fois que vous utilisez l'émulateur, vous devez créer un dossier gdb dans le dossier 'My Pocket PC' qui se trouve dans votre dossier racine (\).(Pour gagner du temps, aller dans votre répertoire partagée, faites ctrl+c sur le fichier exe puis aller dans le dossier \gdb, et à chaque nouvelle compilation, faites tout simplement ctrl+v).
  
'''Step 5''' - Now you can safely debug your application.gdb for wince will be launched.it will copy arm-wince-pe-stub.exe to \gdb folder and check if your application.exe file is there and will launch the program.
+
'''Etape 5''' - Maintenant, vous pouvez déboguer votre application. gdb pour WinCE doit être lancer. cela va copier arm-wince-pe-stub.exe dans le dossier \gdb et chercher si le fichier .exe de votre application est présent. dans ce cas, le programme sera lancé. Dans beaucoup de cas, à cause de la taille importante des fichiers exe, vous ne pouvez pas les copier dans le dossier \gdb. Il faut alors lancer l'émulateur avec 128mo de ram alors qu'il se lance par défaut avec 64mo de ram.  
If you encountered an error make sure the \gdb folder is created,arm-wince-pe-stub.exe and you exe file is there.Also most of the times becouse of big size of exe file you can not copy that into your \gdb file.So you have to call Microsoft Device Emulator Preview with 128mg of ram instead of defaulkt 64mg ram.
 
  
'''Some Hints'''
+
'''Quelques conseils'''
  
1. Programs exist in memory still after exiting them. So you can't overwrite the .exe file. You have to use tools like Process Viewer from Microsoft which remotly shows all processes and allow you to kill them. Or use process killers inside the emulator. Process Explorer is another good option. One can get it from http://madebits.com
+
1. Les programmes restent en mémoire même après qu'on en soit sorti. Aussi, il n'est pas possible de les écraser. Vous devez utiliser des outils tel que Process Viewer de Microsoft qui vous montre tout les processus en cours et qui vous permet de les "tuer". Vous pouvez également utiliser process killers dans l'émulateur. le logiciel Process Explorer est une autre option. Vous pouvez l'obtenir à cette adresse : http://madebits.com
  
2. Each time you are done with debugging your program dont exit from program.Do program Reset and then Debugger reset. Note that sometimes still program exist in memory,so you also have to kill the process too.
+
2. Chaque fois que vous lancez avec le débogueur votre programme, ne quitter pas ce programme. Faire un reset du programme puis du débogueur. Notez que le programme reste quelquefois en mémoire ce qui vous obligera à "tuer" le processus.
  
=== Installing and Using the Pocked PC Emulator ===
+
=== Intallation et utilisation de l'émulateur Pocked PC ===
  
1 - You can download a Pocket PC Emulator from Microsoft [http://www.microsoft.com/downloads/details.aspx?FamilyId=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en here]. First, download and install the file V1Emulator.zip.
+
1 - Vous pouvez télécharger l'émulator de Pocket PC Emulator à partir du site Microsoft [http://www.microsoft.com/downloads/details.aspx?FamilyId=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en here]. First, Téléchargez puis installez le fichier V1Emulator.zip.
  
2 - Next, be careful that there is a wrong information on the website. It will say that you need to install the Virtual Machine Network Driver, but the link provided on the website is broken. Instead, download Virtual PC 2007 [http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en here]. This will install the necessary driver too.
+
2 - Ensuite, faites attention car il y a une information erronée sur le site web. Il est dit que vous devez installer le  Virtual Machine Network Driver, mais le lien donnée sur le site est cassé. A la place, téléchargez Virtual PC 2007 [http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en here]. Cela installera les drivers nécessaires. D'après le site Microsoft, la version familiale de XP n'est pas supportée. Si vous êtes sur ce système, vous pouvez installer sans problème Virtual PC (En fait, Microsoft n'assure pas de suivi en cas de problème sur cet OS).
  
3 - Now, go back to the first website and download and install the efp.msi file
+
3 - Maintenant revenez sur le premier site, téléchargez et installez le fichier efp.msi.
  
Now you should have a fully functional PocketPC Emulator which can be utilized together with Lazarus to develop applications.
+
Vous devriez avoir maintenant un émulateur Pocket PC fonctionnel qui peut être utilisé conjointement avec Lazarus pour développer des applications
  
To run a Lazarus application on the emulator you can either use GDB via ActiveSync, or you can also just execute it directly.
+
Pour exécuter une application Lazarus sur l'émulateur, vous pouvez soit utiliser GDB via ActiveSync soit l'exécuter directement à partir de l'émulateur.
  
==== Running an application on the emulator ====
+
==== Lancer une application à partir de l'émulateur ====
  
1 - Go the the Windows Programs Menu --> "Windows Mobile Emulator Images" --> "PocketPC"
+
1 - Aller dans le menu '''démarrer > tous les programmes > Windows Mobile Emulator Images > PocketPC'''
  
2 - If you never configured your shared folder for the emulator, do so now, by clicking on the menu File --> Configure once the emulator opens. Set it to a folder where you can access your Windows CE executable created with Lazarus.
+
2 - Si vous n'avez jamais configuré votre dossier partagé pour l'émulateur, faites le maintenant en cliquant sur le menu '''File > Configure''' une fois l'émulateur ouvert. Indiquez le dossier où vous pourrez accéder à vos exécutables Windows CE créés avec Lazarus.
  
3 - On the emulator click: Start --> Programs. Now select "File Explorer". Now select "Storage Card". Navigate until you find your executable and double click it to execute it.
+
3 - Dans l'émulateur, cliquez : '''Start --> Programs'''. Sélectionnez alors "File Explorer". Sélectionnez "Storage Card" et naviguez jusqu'à ce que vous trouviez votre exécutable. Double-cliquez pour l'exécuter.
  
 
== Screenshots ==
 
== Screenshots ==
  
An example of Lazarus+WinCE and the Free Pascal software used to test the cross compiler:
+
Des exemples de Lazarus+WinCE et du logiciel Free Pascal utilisé pour tester le cross compiler:
  
 
[[Image:Capture 2.jpg]]
 
[[Image:Capture 2.jpg]]
Line 147: Line 175:
  
 
== See Also ==
 
== See Also ==
 
 
* [[Windows_CE_Development_Notes|Windows CE Interface Development notes]]
 
* [[Windows_CE_Development_Notes|Windows CE Interface Development notes]]
 
 
* [[User:CCRDude|Alternative Lazarus Windows CE tutorial using Win64]]
 
* [[User:CCRDude|Alternative Lazarus Windows CE tutorial using Win64]]
 
 
* [[Roadmap#Widgetset_dependent_components|Roadmap for the Windows CE interface]]
 
* [[Roadmap#Widgetset_dependent_components|Roadmap for the Windows CE interface]]
 
 
* Mini framework for WindowsCE applications: [http://ccrdude.net/files/fpc/pkMiniGUI.pas pkMiniGUI.pas] [http://ccrdude.net/docs/pkCEStuff.htm Documentation]
 
* Mini framework for WindowsCE applications: [http://ccrdude.net/files/fpc/pkMiniGUI.pas pkMiniGUI.pas] [http://ccrdude.net/docs/pkCEStuff.htm Documentation]
 +
* [[KOL-CE/fr|WinCE port of KOL GUI library]] - compact applications for WinCE/Win32.
 +
* [[WinCE port]] - About the compiler specific parts of the port
  
 
== Downloads ==
 
== Downloads ==
  
* An add-on installer for the lazarus windows installer based on fpc 2.1.1: ftp://ftp.hu.freepascal.org/pub/lazarus/cross/. These files are mirrored at http://michael-ep3.physik.uni-halle.de/Lazarus/cross/ Details can be found at http://www.mail-archive.com/lazarus@miraclec.com/msg12909.html Thanks to Vincent Snijders.
+
* An add-on installer for the Lazarus windows installer based on fpc 2.1.1: ftp://ftp.hu.freepascal.org/pub/lazarus/cross/. These files are mirrored at http://michael-ep3.physik.uni-halle.de/Lazarus/cross/ Details can be found at http://www.mail-archive.com/lazarus@miraclec.com/msg12909.html Thanks to Vincent Snijders.
 
 
'''Old downloads'''
 
  
* ''http://www.see-cure.de/files/lazarus-arm-wince-20060707.7z Pre-compiled well tested Lazarus for Windows CE package. The new combination (arm-binutils from June 24th, Lazarus from July 7th, FPC soucres from July 6th) works quite well. Thanks to CCRDude.'' A new package is projected. <the link is broken>
+
[[Category:WinCE/fr]]

Latest revision as of 17:10, 20 July 2015

WinCE Logo.png

Cet article s'applique uniquement à Windows CE.

Voir aussi: Multiplatform Programming Guide/fr

English (en) français (fr) 한국어 (ko) português (pt) 中文(台灣)‎ (zh_TW)

Introduction

La mise au point de l'interface Windows CE a été commencé par Felipe Monteiro de Carvalho et s'est poursuivie par Roozbeh et d'autres contributeurs. L'interface a commencé en 2006 avec un compilateur FPC pour Windows CE encore en développement. Une version stable du compilateur a été réalisée en 2007, ce qui a rendu possible de réaliser une extension (add-on) pour WinCE avec la version 0.9.24 de Lazarus.

En raison d'une mauvaise expérience avec le partage de code entre différentes interfaces dans le passé avec les interfaces gtk/gtk2, il a été décidé de commencer avec un code propre à WinCE. Comme les API sont très similaires, une grande partie du code de l'interface WinCE provient de l'interface Win32/64.

Autres Interfaces

Tuyaux spécifiques aux plate-formes

Articles sur le développement d'interfaces

Configuration de l'interface Windows CE

Pour configurer l'interface Windows CE, vous devez soit utiliser l'installateur d'extension, soit configurer l'interface manuellement. Les deux options sont détaillées ci-dessous. L'utilisation de l'extension est, bien sur, plus simple.

Utilisation de l'installateur d'extension

Avec la première release de Free Pascal pour Windows CE, l'installation d'un environnement de développement pour WinCe n'a jamais été aussi simple.

Guidage pas à pas:

  • Télécharger et installer l'installateur d'extension pour la version Lazarus téléchargée. Il est situé sur la même page SourceForge.
  • Vous pouvez maintenant compiler des applications Win32 et des applications arm-wince à partir de Lazarus en modifiant les options du compilateur:
    • Widget set: wince
    • Target OS: wince
    • Target CPU: arm

Configurer manuellement l'interface Windows CE

traduction approximative - je n'ai pas essayé cette procédure -

Alors que la version 0.9.24 a été réalisée avec la version 2.2.0 stable du compilateur FPC pour windows CE, la version de développement de Lazarus requiert maintenant la version 2.2.1 ou ultérieure de FPC. Vous trouverez ici les instructions pour mettre à jour cet environnement :

Etape 1 - Pour commencer, vous devez recompiler le compilateur pour Windows pour créer un "cross-compilateur" Windows CE- ARM. Les instructions sont ici : WinCE port.

  • Créer alors un script comme celui pour construire votre compilateur à partir de la version FPC 2.2.0 installée (aussi bien à partir de Lazarus que d'une installation séparée):
cd compiler
PATH=C:\Programas\lazarus220\fpc\2.2.0\bin\i386-win32
make cycle CPU_TARGET=arm OS_TARGET=wince
cd ..
pause

Etape 2 - Vous avez besoin de compiler FCL (Free Component Library) avec la nouvelle compilation. Instructions ici.

  • Cet astucieux script rend cela plus facile (ne pas oublier de mettre les chemins correspondants à votre machine). OPT="-FU... placera toutes les unités au même emplacement, ce qui est très pratique. :
cd packages
PATH=C:\Programas\lazarus220\fpc\2.2.1\bin\i386-win32
make clean all CPU_TARGET=arm OS_TARGET=wince PP=ppcrossarm.exe OPT="-FUC:\Programas\lazarus220\fpc\2.2.1\units\arm-wince"
cd ..
pause

Etape 3 - Placer le fichier script ci-dessous à la racine de votre dossier Lazarus et exécuter le :

PATH=C:\Programas\lazarus\pp\bin\i386-win32;c:\Programas\arm
make lcl LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince

Cela devrait compiler LCL pour Windows CE.

Etape 4 - "Cross-compiler" le LazarusPackageIntf et vous pourrez utiliser les composants visuels de la 3rd party. aller dans lazarus\packager\registration et faire:

PATH=C:\Programas\lazarus\pp\bin\i386-win32;c:\Programas\arm
make PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince

NOTE: vous devez spécifier dans votre chemin vers les unités des projets $(LazarusDir)\packager\units\$(TargetCPU)-$(TargetOS)\ (ajouter FCL devrait faire cela).

Etape 5 - Maintenant, vous pouvez utiliser l'IDE Lazarus pour définir, compiler et déboguer votre application.

  • Vous pouvez aussi utiliser des scripts similaire pour complier vos applications:
PATH=C:\Programas\lazarus\pp\bin\i386-win32;c:\Programas\arm
ppcrossarm.exe -Twince -FuC:\Programas\fpc\rtl\units\arm-wince -FDC:\Programas\arm -XParm-wince- test.pas
ppcrossarm.exe -Twince -FuC:\programas\lazarus\lcl\units\arm-wince -FuC:\programas\lazarus\lcl\units\arm-wince\wince -FuC:\Programas\fpc\rtl\units\arm-wince -FDC:\Programas\arm -XParm-wince- windowtest.pas

Compiler un projet Windows CE avec l'IDE Lazarus

REMARQUE : récemment, un fichier "wincemenures.or" est indiqué manquant lors de l'édition de lien (linking). Vous devez juste copié ce fichier de "lazarus/lcl/interfaces/wince" vers "lazarus/lcl/units/arm-wince" et tout devrait alors fonctionner.

Tout fonctionne comme avec les autres interfaces et OS. Vérifier que vous avez bien sélectionner wince dans le champ Type composant graphique (LCL) divers dans l'onglet Chemins du menu Projet > Option du compilateur... et dans l'onglet Code sélectionner WinCE comme OS de destination et arm comme CPU de destination. Vous devez aussi changer le Chemin du compilateur dans le menu Outils > Options d'environnement... pour pointer sur le compilateur ppcrossarm.exe compiler.

L'IDE est maintenant prêt pour compiler vos projet Windows CE.

Débogage d'un logiciel pour Windows CE à partir de l'IDE Lazarus

Vous pouvez aussi déboguer des applications créer avec l'IDE Lazarus.

Etape 1 - Dans l'IDE Lazarus, aller au menu Configuration > Option du débogueur.... Modifiez le chemin du débogueur pour pointer sur le dossier où se trouve gdb pour WinCE. Vous pouvez vous procurer ce débogueur ici ftp://ftp.freepascal.org/pub/fpc/contrib/cross/gdb-6.4-win32-arm-wince.zip


Etape 2 - Si vous utilisiez Microsoft Device Emulator précédemment, lancez-le (ou relancez-le). Vérifiez que vous lancer l'émulateur avec 128mo de ram. Sélectionnez un dossier pour le partage de fichiers dans l'émulateur, et copiez la commande dans votre fichier .bat utilisé pour construire le fichier exe compilé dans votre dossier partagé, add copy command to your .bat file used for building your application to copy the compiled exe file to your shared path.(as you can see in my .bat file). Vous avez ci-desous un fichier .bat que vous pouvez utiliser pour démarrer l'émulateur avec 128mo de ram.

start deviceemulator.exe ".\ppc_2003_se\PPC_2003_SE_WWE_ARMv4.bin" /memsize 128 /skin 
".\ppc_2003_se\PocketPC_2003_Skin.xml"

Après cela, il suffit de choisir 'save and exit' lorsque vous voulez quitter l'émulateur. Pour le relancer, on pourra le faire à partir des raccourcis créés dans votre menu Démarrer.(raccourci avec '(restore)').

Etape 3 - Lancez le programme Device Emulator Manager et dans la liste des émulateurs disponible, cliquer avec le bouton droit sur le nom de l'émulateur et choisir la fonction cradle. Le logiciel Microsoft ActiveSync doit maintenant être lancé. Si il ne se passe rien dans ActiveSync, allez dans le menu File->Get connected. Si cela ne uffit pas pour qu'Activesync reconnaisse l'émulateur, choisir dans le menu Actions, la fonction Uncradle puis Cradle dans l'émulateur.

Etape 4 - Copiez le fichier exe compilé avec l'explorateur de fichiers dans votre émulateur dans le dossier \gdb. Si c'est la première fois que vous utilisez l'émulateur, vous devez créer un dossier gdb dans le dossier 'My Pocket PC' qui se trouve dans votre dossier racine (\).(Pour gagner du temps, aller dans votre répertoire partagée, faites ctrl+c sur le fichier exe puis aller dans le dossier \gdb, et à chaque nouvelle compilation, faites tout simplement ctrl+v).

Etape 5 - Maintenant, vous pouvez déboguer votre application. gdb pour WinCE doit être lancer. cela va copier arm-wince-pe-stub.exe dans le dossier \gdb et chercher si le fichier .exe de votre application est présent. dans ce cas, le programme sera lancé. Dans beaucoup de cas, à cause de la taille importante des fichiers exe, vous ne pouvez pas les copier dans le dossier \gdb. Il faut alors lancer l'émulateur avec 128mo de ram alors qu'il se lance par défaut avec 64mo de ram.

Quelques conseils

1. Les programmes restent en mémoire même après qu'on en soit sorti. Aussi, il n'est pas possible de les écraser. Vous devez utiliser des outils tel que Process Viewer de Microsoft qui vous montre tout les processus en cours et qui vous permet de les "tuer". Vous pouvez également utiliser process killers dans l'émulateur. le logiciel Process Explorer est une autre option. Vous pouvez l'obtenir à cette adresse : http://madebits.com

2. Chaque fois que vous lancez avec le débogueur votre programme, ne quitter pas ce programme. Faire un reset du programme puis du débogueur. Notez que le programme reste quelquefois en mémoire ce qui vous obligera à "tuer" le processus.

Intallation et utilisation de l'émulateur Pocked PC

1 - Vous pouvez télécharger l'émulator de Pocket PC Emulator à partir du site Microsoft here. First, Téléchargez puis installez le fichier V1Emulator.zip.

2 - Ensuite, faites attention car il y a une information erronée sur le site web. Il est dit que vous devez installer le Virtual Machine Network Driver, mais le lien donnée sur le site est cassé. A la place, téléchargez Virtual PC 2007 here. Cela installera les drivers nécessaires. D'après le site Microsoft, la version familiale de XP n'est pas supportée. Si vous êtes sur ce système, vous pouvez installer sans problème Virtual PC (En fait, Microsoft n'assure pas de suivi en cas de problème sur cet OS).

3 - Maintenant revenez sur le premier site, téléchargez et installez le fichier efp.msi.

Vous devriez avoir maintenant un émulateur Pocket PC fonctionnel qui peut être utilisé conjointement avec Lazarus pour développer des applications

Pour exécuter une application Lazarus sur l'émulateur, vous pouvez soit utiliser GDB via ActiveSync soit l'exécuter directement à partir de l'émulateur.

Lancer une application à partir de l'émulateur

1 - Aller dans le menu démarrer > tous les programmes > Windows Mobile Emulator Images > PocketPC

2 - Si vous n'avez jamais configuré votre dossier partagé pour l'émulateur, faites le maintenant en cliquant sur le menu File > Configure une fois l'émulateur ouvert. Indiquez le dossier où vous pourrez accéder à vos exécutables Windows CE créés avec Lazarus.

3 - Dans l'émulateur, cliquez : Start --> Programs. Sélectionnez alors "File Explorer". Sélectionnez "Storage Card" et naviguez jusqu'à ce que vous trouviez votre exécutable. Double-cliquez pour l'exécuter.

Screenshots

Des exemples de Lazarus+WinCE et du logiciel Free Pascal utilisé pour tester le cross compiler:

Capture 2.jpg Wince.PNG

How to add a new control

For example TButton.

TButton is defined in lcl/buttons.pp. This is the platform independent part of the LCL, which is used by the normal LCL programmer.

Its widgetset class is in lcl/widgetset/wsbuttons.pp. This is the platform independent base for all widgetsets (qt, carbon, gtk, win32, ...).

It's wince interface class is in lcl/interfaces/wince/wincewsbuttons.pp:

 TWinCEWSButton = class(TWSButton)
 private
 protected
 public
   class function  CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
 end;

Every WS class, that actually implements something must be registered. See the initialization section at the end of the wincewsXXX.pp unit:

 RegisterWSComponent(TButton, TWinCEWSButton);


Also notice that DestroyHandle should be implemented to clean up memory utilized by the control.

See Also

Downloads