Présentation de Windows
Remonter à Développement d'applications Windows - Index
La plate-forme Windows vous aide à créer et construire des applications de différentes manières. Les types d'applications Windows les plus courants sont les suivants :
- Applications GUI
- Applications console
- Applications service
- Packages et DLL
Sommaire
Applications GUI
Une application à interface utilisateur graphique (GUI) utilise des fonctionnalités graphiques telles que les fenêtres, les menus et les boîtes de dialogue, ainsi que des fonctionnalités qui facilitent l'utilisation de l’application. Quand vous compilez une application GUI, un fichier exécutable contenant du code de démarrage est créé à partir de vos fichiers source. Généralement, l'exécutable fournit les fonctionnalités de base de votre programme. Les programmes simples se composent souvent d'un seul fichier exécutable. Vous pouvez aussi étendre une application en appelant des DLL, des packages ou d’autres bibliothèques complétant un exécutable.
L'EDI de RAD Studio offre deux modèles d’interface utilisateur d'application :
- L’interface de document unique (Single Document Interface, SDI)
- L’interface de document multiple (Multiple Document Interface, MDI)
L’interface de document unique
Une application SDI ne contient normalement qu’une seule vue de document. Voir Applications SDI.
L’interface de document multiple
Dans une application MDI, plusieurs documents ou fenêtres enfant peuvent être ouverts dans une seule fenêtre parent. Cela est courant dans les applications comme les tableurs ou les traitements de texte. Voir Applications MDI.
Les applications MDI nécessitent plus de réflexion et sont plus complexes à concevoir que les applications SDI. Les applications MDI contiennent des fenêtres enfant qui se trouvent dans la fenêtre client ; la fiche principale contient des fiches enfant. Par exemple, définissez la propriété FormStyle de l’objet Vcl.Forms.TForm pour spécifier si la fiche est un enfant (fsMDIChild) ou la fiche principale (fsMDIForm). Il est recommandé de définir une classe de base pour les fiches enfant et de dériver chaque fiche enfant de cette classe. Sinon, vous risqueriez d'avoir à réinitialiser les propriétés de fiche de l'enfant. Les applications MDI proposent souvent des options du menu principal comme Cascade et Mosaïque pour afficher plusieurs fenêtres de diverses manières. Quand une fenêtre enfant est réduite, son icône est placée dans la fenêtre parent MDI.
Applications console
Les applications console sont des programmes 32-bits exécutés sans interface graphique, dans une fenêtre console. Habituellement, ces applications ne nécessitent pas une saisie utilisateur importante et accomplissent un jeu limité de fonctions. Toute application contenant {$APPTYPE CONSOLE} dans son code ouvre une fenêtre console qui lui est propre.
Applications service
Les applications de service reçoivent les requêtes des applications client, traitent ces requêtes et renvoient les informations aux applications client. Habituellement, les applications de service s'exécutent en arrière-plan, sans nécessiter de saisie utilisateur importante. Un serveur Web, FTP ou de messagerie électronique est un exemple d'application de service.
Création de packages et de DLL
Les bibliothèques de liaison dynamique (DLL) sont des modules de code compilés qui fonctionnent en conjonction avec un exécutable pour proposer des fonctionnalités à une application.
Les packages sont des DLL spéciales utilisées par les applications Delphi, par l’EDI ou les deux à la fois. Il existe deux types de packages, d'exécution et de conception. Les packages d’exécution fournissent des fonctionnalités à un programme lors de son exécution. Les packages de conception permettent d’étendre les fonctionnalités de l’EDI.
Pour la plupart des applications, les packages offrent une plus grande flexibilité et sont plus simples à créer que les DLL. Cependant, dans quelques cas, les DLL fonctionnent mieux que les packages :
- Votre module de code est appelé par une application qui n’a pas été conçue avec Delphi.
- Vous étendez les fonctionnalités d’un serveur Web.
- Vous créez un module de code qui doit être utilisé par des développeurs extérieurs.
- Votre projet est un conteneur OLE.
Vous ne pouvez pas transmettre des informations de type à l'exécution (RTTI) Delphi entre DLL ou d'une DLL à un exécutable. Si vous transmettez un objet d'une DLL vers une autre ou vers un exécutable, vous ne pouvez pas utiliser les opérateurs is ou as avec l'objet transmis. En effet, les opérateurs is et as doivent comparer les informations RTTI. Si vous devez transmettre des objets à partir d'une bibliothèque, utilisez des packages de préférence aux DLL, car ils peuvent partager les informations RTTI. De même, vous devez utiliser des packages au lieu de DLL dans les services Web car ils reposent sur des informations RTTI Delphi.