Qu'est-ce que le format de fichier BPL ?
.bpl est un fichier Borland Package Library - une DLL Windows spécialisée utilisée par Embarcadero Delphi et C++Builder pour distribuer des paquets de composants réutilisables. Introduit avec Delphi 3, le système de paquets permet aux composants VCL et FireMonkey d'être partagés entre plusieurs applications au moment de l'exécution plutôt que d'être liés statiquement dans chaque exécutable.
Structurellement, un fichier .bpl est un fichier Windows PE (Portable Executable) .dll standard, identifiable par l'en-tête MZ, avec une section de ressource supplémentaire PACKAGEINFO qui répertorie les unités Delphi contenues dans le paquet. Deux types existent : les paquets d'exécution (runtime), distribués avec une application et chargés au démarrage (par exemple, vcl280.bpl est fourni avec les applications Delphi 11), et les paquets de conception (design-time), qui enregistrent les composants dans l'IDE et ne sont jamais livrés aux utilisateurs finaux.
Les fichiers .bpl ne sont pas portables entre les versions du compilateur Delphi : un paquet compilé pour Delphi 10 Seattle ne se chargera pas dans Delphi 11 Alexandria et doit être recompilé. Chaque paquet possède des fichiers compagnons : un .dcp (Delphi Compiled Package) contenant les métadonnées de l'éditeur de liens, et pour C++Builder une bibliothèque d'importation .bpi. Le projet source du paquet est stocké dans un fichier .dpk.
Comme les fichiers .bpl sont des DLL Windows valides, des outils PE standard tels que Dependency Walker peuvent inspecter leurs imports et exports. Ils sont chargés au moment de l'exécution via l'appel standard Windows LoadLibrary.
Sécurité et sûreté
RISQUE : MEDIUMLes fichiers BPL sont des DLL ; un BPL malveillant placé dans un répertoire d'application pourrait exécuter un code arbitraire via un détournement de DLL. N'installez que des fichiers BPL provenant de fournisseurs de composants Delphi de confiance. L'erreur « fichier BPL manquant » incite certains utilisateurs à télécharger des fichiers BPL sur des sites non officiels - évitez-les.
Détails du format
en bref- Paquet de plugin Symbian OS/Nokia - Certains outils de développement Symbian/Nokia utilisaient également .bpl pour les paquets de micrologiciels ou de plugins ; sans rapport avec Delphi.
Programmes qui ouvrent les fichiers BPL
Détails techniques
spécifications approfondies| Format binaire sous-jacent | Windows PE (Portable Executable) DLL |
| Octets magiques | `MZ` (4D 5A) - en-tête standard Windows PE |
| Ordre des octets | Little-endian |
| Section PE supplémentaire | Ressource `PACKAGEINFO` listant les unités Delphi/C++Builder contenues |
| Types de paquets | Exécution (distribué avec l'app) et conception (enregistrement IDE uniquement) |
| Portabilité de version | Doit être recompilé pour chaque version du compilateur - pas de compatibilité entre versions |
| Fichiers compagnons | `.dcp` (métadonnées du lieur), `.bpi` (bibliothèque d'importation C++Builder), `.dpk` (source du paquet) |
| Taille typique | 84 Ko - 2 Mo |
| Plateforme | Windows (principal) ; macOS et Linux via les paquets multiplateformes FireMonkey |
| Chargement à l'exécution | Appels Windows standard `LoadLibrary` / `GetProcAddress` |
| Liaison du compilateur | Balise de version RTL interne ; une discordance de version provoque l'échec du chargement au démarrage |
| Rôle dans l'IDE | Les paquets de conception enregistrent les icônes de la palette de composants et les éditeurs de propriétés dans RAD Studio |
| Publié | 1997 (Delphi 3 - first version with package support) |
| Dernière version | RAD Studio 13 Florence (2025); BPL format stable since Delphi 3 |
| Spécification | docwiki.embarcadero.com |