français

Procédure : supprimer une extension de classe d’entités d’une géodatabase

Résumé

Effectuez cette procédure en deux étapes dans le cas où l’ extension de classe d’entités figure sur un Ordinateur A (sur lequel ArcGIS Desktop est installé) :

  1. Enregistrez la DLL de l’extension de classe auprès d’ArcGIS Desktop.
  2. Appliquez l’extension de classe par programmation à une classe d’entités spécifique, au moyen de l’instruction suivante :
    IClassSchemaEdit2.AlterClassExtensionCLSID(extUID, extensionProperties)
    Pour en savoir plus, reportez-vous à la rubrique d’aide web ArcObjects .NET suivante : Creating class extensions (Création d’extensions de classe).
Sur un ordinateur ou une machine virtuelle secondaire (Ordinateur B) comportant ArcGIS Desktop, il est difficile de supprimer l’extension de classe sur la géodatabase d’entreprise à partir de ce deuxième ordinateur, car il ne s’agit pas de la machine à partir de laquelle l’extension de classe d’entités a été enregistrée. Si vous essayez d’appliquer par programmation le code suivant pour supprimer l’extension de classe (via une console ArcGIS Engine ou un complément ArcMap), cette opération échouera :
classSchemaEdit.AlterClassExtensionCLSID(null, null)
Cela est dû au fait qu’ArcGIS Desktop ou Engine doit être enregistré auprès de l’extension de classe avant de pouvoir supprimer celle-ci. Les instructions ci-après expliquent comment supprimer une extension de classe d’entités d’une géodatabase.

Procédure

  1. Copiez la DLL de l’extension de classe sur le nouvel ordinateur et enregistrez-la en exécutant EsriRegAsm.exe pour ArcGIS Desktop ou ArcGIS Engine.
  2. Etablissez une liaison avec la géodatabase d’entreprise (au moyen d’une connexion directe SDE) contenant les classes d’entités associées à l’extension de classe, puis supprimez par programmation cette dernière en recourant au code suivant :
    classSchemaEdit.AlterClassExtensionCLSID(null, null)
    Il est possible d’exécuter la ligne de code ci-dessus à partir d’une application de console autonome ou par l’intermédiaire de l’événement OnClick d’un complément ArcMap.
  3. Annulez l’enregistrement de l’extension de classe en appliquant EsriRegAsm à ArcGIS Desktop ou ArcGIS Engine.
  4. Créez une nouvelle extension de classe dans Visual Studio et suivez la procédure en deux étapes ci-dessus pour activer l’extension de classe sur les mêmes classes d’entités.
    1. Enregistrez la nouvelle extension de classe auprès d’ArcGIS Desktop ou d’ArcGIS Engine
    2. Appliquez l’extension de classe à une ou plusieurs classes d’entités via une console ou une application bureautique en exécutant l’instruction suivante :
      IClassSchemaEdit2.AlterClassExtensionCLSID(extUID, extensionProperties)

Informations associées