Licences des contrôles ActiveX

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des contrôles ActiveX - Index


Attribuer une licence à un contrôle ActiveX consiste à fournir une clé de licence à la conception et à gérer la création dynamique de licences pour les contrôles créés à l'exécution.

Pour fournir des licences de conception, une clé est créée pour le contrôle et elle est stockée dans un fichier d'extension LIC portant le même nom que le projet. Ce fichier .LIC est ajouté au projet. L'utilisateur du contrôle doit avoir un copie du fichier .LICpour ouvrir le contrôle dans un environnement de développement. Chaque contrôle d'un projet pour lequel la case Licence de conception est cochée dispose d'une entrée distincte dans le fichier .LIC.

Pour gérer les licences à l'exécution, la classe enveloppe implémente deux méthodes, GetLicenseString et GetLicenseFilename. Elles renvoient, respectivement, la chaîne de licence du contrôle et le nom du fichier .LIC. Quand une application hôte tente de créer un contrôle ActiveX, le fabricant de classe du contrôle appelle ces méthodes et compare la chaîne renvoyée par GetLicenseString à la chaîne stockée dans le fichier .LIC.

Les licences d'exécution pour Internet Explorer nécessitent un niveau supplémentaire d'indirection, car l'utilisateur peut visualiser le code source HTML de toutes les pages Web et un contrôle ActiveX est copié sur son ordinateur avant qu'il ne soit affiché. Pour créer des licences d'exécution pour les contrôles utilisés sous Internet Explorer, vous devez d'abord générer un fichier package de licence (fichier LPK) et l'incorporer dans la page HTML qui contient le contrôle. Le fichier LPK est essentiellement un tableau de CLSID et de clés de licence.

Remarque :  Pour générer le fichier LPK, utilisez l'utilitaire LPK_TOOL.EXE, que vous pouvez télécharger à partir du site Web de Microsoft (www.microsoft.com).

Pour incorporer le fichier LPK dans une page Web, utilisez les objets HTML, <OBJECT> et <PARAM>, comme suit :

<OBJECT CLASSID="clsid:6980CB99-f75D-84cf-B254-55CA55A69452">
<PARAM NAME="LPKPath" VALUE="ctrllic.lpk">
</OBJECT>

Le CLSID identifie l'objet en tant que package de licence et PARAM spécifie l'emplacement relatif du fichier package de licence par rapport à la page HTML.

Lorsque Internet Explorer essaie d'afficher la page Web contenant le contrôle, il analyse le fichier LPK, extrait la clé de licence et, si celle-ci correspond à la licence du contrôle (renvoyée par GetLicenseString), il restitue le contrôle dans la page. Si plusieurs fichiers LPK sont inclus dans une page Web, Internet Explorer ne prend en compte que le premier.

Pour plus d'informations, effectuez des recherches sur la définition de licences de contrôles ActiveX sur le site Web de Microsoft.