KOL-CE/fr

From Free Pascal wiki
Revision as of 05:49, 29 November 2016 by LAutour (talk | contribs) (update)
Jump to navigationJump to search
Windows logo - 2012.svg

Cet article s'applique uniquement à Windows.

Voir aussi: Multiplatform Programming Guide/fr

WinCE Logo.png

Cet article s'applique uniquement à Windows CE.

Voir aussi: Multiplatform Programming Guide/fr

English (en) français (fr) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

Introduction

KOL-CE est le portage pour Free Pascal/Lazarus de KOL&MCK développé par Vladimir Kladov (http://kolmck.ru). KOL-CE est développé par Yury Sidorov et est distribué sous licence wxWindows Library Licence.

KOL-CE permet de créer des applications Win32/WinCE très compactes (à partir de ~40Koctets pour un projet avec une fiche vide).

MCK est un paquet Lazarus permettant le développement VISUEL de projet KOL-CE avec l'IDE Lazarus.

Initialement, KOL-CE était planifié pour être seulement une portage de KOL pour WinCE. Mais, ultérieurement, il a été décidé de conserver les fonctionnalités Win32 et de le faire fonctionner avec FPC sans problème. La version original de KOL est prévue pour Delphi et ne fonctionne pas correctement avec FPC. La version originale de MCK ne peut pas être utilisée avec Lazarus.

Configuration nécessaire

  • Free Pascal compiler 2.2.0 ou ultérieur pour Win32.
  • arm-wince cross compiler 2.2.0 ou ultérieur pour Win32 (pour développement [[WinCE port|WinCE]).
  • Lazarus 0.9.23 ou ultérieur pour Win32.

Cibles supportées

  • Toutes versions 32bits de Windows: de Windows 95 à Vista.
  • Pocket PC et smartphones basés sur Windows CE.

Téléchargement

Télécharger la dernière version de KOL-CE ici.

Vous pouvez aussi obtenir les sources de KOL-CE les plus récentes via svn en utilisant ce lien : https://kol-ce.svn.sourceforge.net/svnroot/kol-ce/trunk

Installation


Si vous utilisez Lazarus 0.9.25 ou une version ultérieure, vous devez reconstruire Lazarus avec l'option DisableFakeMethods avant l'installation du paquet MCK.

Pour cela :

  1. Lancer Lazarus.
  2. Choisir le menu Outils > Configurer "Build Lazarus"... menu item.
  3. Choisir Clean Up + Build all dans l'onglet Options de construction rapide.
  4. Ouvrir l'onglet Options de construction avancées et ajouter -dDisableFakeMethods dans le champ Options.
  5. Cliquer sur le bouton Construire pour reconstruire Lazarus.

MCK package
  1. Télécharger les sources de KOL-CE et placer les dans un répertoire de votre système de fichiers.
  2. Lancer Lazarus et choisir le menu Composants > Ouvrir un fichier paquet (.lpk). Se placer dans le dossier MCK et choisir le fichier MirrorKOLPackage.lpk.
  3. La fen^tre de gestion des paquet s'ouvre. Cliquer sur le bouton Installer.
  4. Lazarus compile alors le paquet MCK et l'IDE sera redémarrée.
  5. Après le redémarrage, un onglet KOL apparaît dans la palette de composants.

KOL components palette

NOTE: Si vous n'arrivez pas à voir tous les composants KOL sur la palette, ajuster verticalement la taille de la palette de composants. Vous verrez alors la seconde ligne des composants de l'onglet KOL (comme sur la copie d'écran ci-dessus).

La mise à jour du paquet MCK est aussi simple que cela. Il suffit juste d'écraser les sources KOL-CE avec la nouvelle version, d'ouvrir le paquet MCK et de cliquer sur Install pour recompiler le paquet.

Utilisation de MCK

Création d'un projet MCK

MCK form
  1. Lancer Lazarus et créer une nouvelle application en utilisant le menu Fichier > Nouveau....
  2. NE PAs placer de composant dans la fiche à ce niveau. Choisir Fichier > Tout enregistrer et sélectionner le dossier de destination pour votre projet. Noter que TOUS LES FICHIERS de votre projet DEVRONT TOUJOURS ETRE PLACES DANS LE MEME DOSSIER! Vous pouvez changer le nom de l'unité de la fiche, mais pas celui du projet. Laisser le nom du projet par défaut project1.lpi
  3. Placer le composant TKOLProject dans la fiche.
  4. Donner un nom au projet MCK résultant en modifiant la propriété ProjectDest (le chemin NE DOIT PAS être inclus). Si vous saisissez MyKOLProg, par exemple, alors le projet MCK résultant sera nommé MyKOLProg.lpi. Le nom du fichier EXE sera (comme vous l'avez déjà deviné) MyKOLProg.exe.
    ProjectDest property
  5. Placer le composant TKOLForm dans la fiche.
  6. Enregistrer le projet courant.
  7. Ouvrir le projet résultant que vous avez spécifié dans la propriété ProjectDest (MyKOLProg.lpi dans notre exemple, il doit se trouver dans le même dossier). Après cela, vous povez détruire tous les fichiers project1.* - ces fichiers n'étant plus nécessaires.
  8. Amusez vous avec votre nouveau projet KOL/MCK (ajuster les paramètres, placer des composants TKOL..., comiler, exécuter, débugguer, etc.)

Ajout d'une fiche

  1. Sélectionner le menu Fichier > Nouvelle fiche .
  2. Enregistrer la fiche dans le MEME DOSSIER que votre projet.
  3. Placer l'objet TKOLForm dans cette fiche.
  4. Vérifier que vous avez bien placé le composant TKOLApplet dans la fiche principale.
  5. Si AutoBuild est sur off: sélectionner le composant TKOLProject dans la fiche principale et double cliquer sur sa propriété Build. (Sinon, tout devrait déjà être fait, n'est ce pas?).

Ecriture d'un code

Ne pas utiliser d'unité des bibliothèques RTL/FCL/LCL, et plus particulièrement des unités SysUtils, Classes, Forms, etc. Tout ce que vous avez besoin, vous devriez le trouver dans les unités KOL, Windows, Messages units. Et peut être, vous pouvez écrire du code vous même (ou le copier à partir d'autres sources). Quand vous écrivez du code dans le projet miroir - on le place habituellement dans le gestionnaire d'évènements. Vous pouvez aussi ajouter du code où vous le souhaitez mais éviter de modifier la première section de la déclaration de classe de votre fiche LCL miroir. Et ne pas modifier les fichiers INC générés automatiquement. Toujours garder à l'esprit, que le code, que vous écrivez dans le projet miroir, doit être accepté aussi bien par LCL que par KOL. Par LCL - au niveau de la compilation du projet miroir (et ceci est nécessaire, parce qu'autrement la conversion du projet miroir en un projet KOL ne sera pas possible). Et par KOL - au niveau de la compilation du code écrit dans l'espace des noms de KOL.

IMPORTANT

Afin de résoudre les conflits entre les mots LCL.Self et KOL.@Self, qui sont interprétés différemment dans KOL et LCL, des champs spéciaux sont introduits - Form. Dans LCL, la propriété Form du composant TKOLForm "retournent" Self, i.e. l'objet fich lui-même. Et dans KOL, Form: PControl est un champ de l'objet, contenant l'objet fiche résultant. Avec cela, il est correct de modifier les propriétés de la fiche de la manière suivante :

Form.Caption := 'Hello!'; 

(Bien que l'ancien opérateur Caption := 'Hello!'; est compilé normalement lors de la conversion du projet miroir en KOL, il est incorrect dans l'environnement KOL). Mais la discussion ci dessus Form est seulement destinée à l'accès des propriétés de la fiche - pas à ceux des contrôles enfants. Vous accéderez au contrôle des enfants et au gestionnaire d'évènements des fiches par la voie habituelle. e.g. :

Button1.Caption := 'OK';
Button1Click(Form);

Création de fiches au moment de l'exécution (Run-time)

Il est possible de créer plusieurs instances de la même fiche au moment de l'exécution. Et au moins, il est possible de faire une fiche non auto-créee, et de la créer par programmation quand cela est nécessaire. Utiliser pour cela la fonction globale NewForm1 (remplacer Form1 par le nom de votre fiche miroir), par exemple:

TempForm1 := NewForm1( Applet );

Pour que cela soit possible, NE JAMAIS accéder à des variables globales créées dans l'unité durant la conversation, sauf si vous savez ce que vous faites. Utiliser plutôt des variables liées à la fiche.

WinCE

Setup

arm-wince target

Vous devez installer le compilateur arm-wince cross pour Win32 pour pouvoir compiler des exécutables WinCE. On peut l'obtenir ici.

Pour compiler vers une cible arm-wince, ouvrir les options du compilateur de votre projet en utilisant le menu Projet > Options du compilateur.... Ouvrir l'onglet Code et modifier les propriétés Plateformes cibles en arm-wince.

NOTE: Vous pouvez recevoir un message d'erreur lors de la compilation d'un projet KOL-CE pour WinCE :

Compiling resource KOL-CE.rc
arm-wince-windres.exe: no resources
KOL.PAS(57901) Error: Error while linking
KOL.PAS(57901) Fatal: There were 1 errors compiling module, stopping

Dans ce cas, vous devez éditer la variable d'environnement Windows PATH et ajouter le chemin pointant vers les sources binaires de fpc pour win32.
Pour localiser ce chemin, aller dans le menu Configuration > Options d'environnement dans Lazarus et noter le chemin du compilateur.
Quitter Lazarus avant d'éditer la variable PATH.
Pour éditer cette variable PATH, cliquer avec le bouton droit sur l'icone Poste de travail. choisir le menu Propriétés et dans l'onglet Avancé cliquer sur le bouton Variables d'environnement.

Trucs et notes

  • Pour obtenir des applications plein écran sur la plupart des Pocket PC, il ne faut pas modifier la position et la taille de la fiche. En cas de modification, la fiche apparaîtrait comme une fiche dialogue avec un titre et un bouton de fermeture. dans MCK placer les propriétés defaultSize et defaultPosition de TKOLForm à True pour obtenir une application plein écran.

Problèmes connus

  • Les composants suivants ne sont pas supportés : RichEdit, TrayIcon.
  • Seuls les styles de gradient gsVertical et gsHorizontal sont supportés.
  • L'alignement des textes ne fonctionne pas avec le contrôle d'édition de ligne simple. Utiliser un composant memo si vous avez besoin d'aligner le texte.

Documentation

  • Visiter le site WEB officiel de KOL&MCK pour obtenir documentations et informations : http://kolmck.ru
  • La documentation MCK se situe dans le fichier KOLmirrorReadme.txt dans le dossier MCK.

KOL-CE dans des applications

Voir aussi

Contacts

Reporter des bugs, soumettre des patches et poser des questions sur la page du projet sur SourceForge: http://sourceforge.net/projects/kol-ce/