Création de packages et de DLL

De RAD Studio
Aller à : navigation, rechercher

Remonter à Construction d'applications, de composants et de bibliothèques - Index

Les bibliothèques de liaison dynamique (DLLs) sont des modules de code compilés qui fonctionnent en conjonction avec un exécutable pour fournir des fonctionnalités à une application. Il existe deux utilisations typiques des bibliothèques de liaison dynamique. La première consiste à utiliser un référentiel de DLLs externes, écrites par un tiers (par exemple, Microsoft). La deuxième consiste à écrire vos propres DLLs que vous voulez partager entre vos programmes, et une autre application écrite dans un langage de programmation différent. Un bon exemple d'utilisation de DLLs tiers dans RAD Studio est la façon dont Delphi utilise l'interface Microsoft Windows.

Examinez les sources installés pour RAD Studio :

C:\Program Files (x86)\Embarcadero\Studio\20.0/source/Win32/rtl/win/

Dans le fichier WinInet.pas, recherchez :

winetdll = 'wininet.dll';

Vous trouverez derrière cette définition plusieurs références aux procédures de cette dll :

function CommitUrlCacheEntry;          external winetdll name 'CommitUrlCacheEntryW';
function CommitUrlCacheEntryA;          external winetdll name 'CommitUrlCacheEntryA';
function CommitUrlCacheEntryW;          external winetdll name 'CommitUrlCacheEntryW';

CommitUrlCacheEntry est le nom que RAD Studio utilise pour référencer la première procédure. CommitUrlCacheEntryW est le nom de la procédure dans wininet.dll. RAD Studio placera ensuite Wininet dans la clause uses et démarrera en utilisant CommitUrlCacheEntry. wininet.dll doit résider dans le répertoire en cours ou dans le PATH système défini dans les variables d'environnement.

L'interface de la dll CommitUrlCacheEntryW peut être examinée par le biais du site web MSDN :

Fonctions WinINet (MSDN)

La deuxième utilisation des DLLs consiste à écrire vos propres DLLs à des fins d'utilisation dans un programme en dehors de RAD Studio. Créez un nouveau projet dans l'application, comme suit :

Fichier > Nouveau > Autre > Projets Delphi > Bibliothèque de liaison dynamique

Fichier > Nouveau > Autre > Projets C++Builder > Bibliothèque de liaison dynamique

Compilez et construisez une DLL en utilisant Exécuter/Paramètres, et naviguez jusqu'à l'exécutable de l'application hôte.

Les packages sont des DLLs spéciales utilisées par les applications Delphi, par l’EDI ou les deux à la fois. Il y a deux sortes de packages : les packages d'exécution et les packages de conception. Les packages d'exécution fournissent des fonctionnalités à un programme lors de son exécution. Les packages de conception étendent les fonctionnalités de l'EDI.

Les DLLs et les bibliothèques doivent gérer toutes les exceptions pour empêcher l'affichage d'erreurs ou d'avertissements à travers les boîtes de dialogue Windows.

Les directives de compilation suivantes peuvent être placées dans les fichiers projet de bibliothèque :

Directives de compilation pour les bibliothèques :

Directive de compilation Description
{$LIBPREFIX 'chaîne'} Ajoute un préfixe spécifié au nom du fichier de sortie. Par exemple, vous pouvez spécifier {$LIBPREFIX 'dcl'} pour un package de conception, ou utiliser {$LIBPREFIX} pour éliminer complètement le préfixe.
{$LIBSUFFIX 'chaîne} Ajoute un suffixe spécifié au nom du fichier de sortie, avant la chaîne $LIBVERSION, si présente, et avant l'extension. Par exemple, utilisez {$LIBSUFFIX '-mytools'} dans quelquechose.dpr pour générer something-mytools.bpl.
{$LIBVERSION 'chaîne'} Ajoute une extension de version au nom du fichier de sortie, avant l'extension .bpl. Par exemple, utilisez {$LIBVERSION '2.1.3'} dans quelquechose.dpr pour générer quelquechose.2.1.3.bpl.

Pour de plus amples informations sur les packages, voir Utilisation des packages et des composants - Présentation.

Rubriques

Voir aussi