Recensement d'un objet COM

De RAD Studio
Aller à : navigation, rechercher

Remonter à Création de serveurs COM simples - Index


Un objet serveur peut être recensé comme serveur en ou hors processus. Pour de plus amples informations sur les types de serveur, voir Serveurs en processus, hors processus et distants.

Remarque : L'EDI, étant un processus 32 bits, ne peut pas recenser les serveurs DLL/en processus 64 bits (les processus 32 bits ne peuvent pas charger les DLLs 64 bits). Pour recenser les serveurs en processus 64 bits, vous devez utiliser la version 64 bits de TRegSvr.exe, située dans $(BDS)\bin64\TRegSvr.exe.


Gestion des entrées de registre

Le recensement d'un objet COM ajoute une entrée au registre système Windows. Les entrées de registre associées aux objets peuvent seulement être dérecensées en utilisant le code de l'objet associé. C'est-à-dire que si l'objet n'existe plus, il ne peut pas être utilisé pour le dérecensement. Ainsi, le registre peut devenir encombré avec des enregistrements "orphelins".

  • Le dérecensement est important dans plusieurs cas :
    • Avant de retirer un objet COM de votre système, vous devez le dérecenser.
    • Si vous recensez un objet COM pendant le développement d'une application, mais que vous décidez par la suite de ne pas enregistrer l'application, vous devrez toujours dérecenser l'objet COM avant d'abandonner l'application.

Recensement d'un serveur ActiveX

  • Pour recenser un serveur ActiveX en processus ou hors processus (DLL, OCX ou EXE), choisissez l'une des actions suivantes :
    • Exécuter > Serveur ActiveX > Recenser
    • Exécuter > Serveur ActiveX > Recenser pour l'utilisateur en cours
  • Pour dérecenser un serveur ActiveX, choisissez :
    • Exécuter > Serveur ActiveX > Dérecenser
    • Dérecenser dérecense le serveur ActiveX à la fois pour tous les utilisateurs et par-utilisateur.

Voir Recenser/Dérecenser le serveur ActiveX.

Utilisation des options de la commande Exécuter

Vous pouvez aussi recenser ou dérecenser le serveur en l'exécutant avec les options de ligne de commande pour le recensement ou le dérecensement. Vous pouvez définir les options de ligne de commande avec la page d'options Débogueur'.

Remarque : Quand vous recensez un serveur "hors processus" (EXE), "Succès" est signalé si l'exécutable se lance avec succès avec la ligne de commande appropriée. Ainsi, bien que le message indique "Serveur ActiveX 'xxxx.exe' recensé avec succès", le serveur n'a aucun moyen de communiquer à l'EDI des informations sur le succès ou l'échec du recensement ou du dérecensement.

Serveur hors processus

  • Pour recenser un serveur hors processus (EXE), exécutez le serveur avec l'une des options suivantes :
    • L'option de ligne de commande /regserver
    • L'option de ligne de commande /RegServerPerUser
  • Pour dérecenser un serveur hors processus (EXE), exécutez le serveur avec l'une des options suivantes :
    • L'option de ligne de commande /unregserver
    • L'option de ligne de commande /UnregServerPerUser

Serveur en processus

Vous pouvez utiliser l'utilitaire tregsvr ou la commande regsvr32 fournie par le système d'exploitation :

  • Pour recenser un serveur en processus (DLL), spécifiez l'une des commandes suivantes :
    • regsvr32.exe /n <dllname>.dll
    • regsvr32.exe /n /i:user <dllname>.dll
  • Pour dérecenser un serveur en processus (DLL), spécifiez l'une des commandes suivantes :
    • regsvr32.exe /u /n <dllname>.dll
    • regsvr32.exe /u /n /i:user <dllname>.dll

Voir aussi