Suite

L'application ArcGis Engine se bloque lorsque la carte contient une extension de classe

L'application ArcGis Engine se bloque lorsque la carte contient une extension de classe


J'ai une application ArcGIS Engine 10.1. Il a bien fonctionné. Il ouvre un .mxd à l'initialisation. Le .mxd contient 3 classes d'entités auxquelles des extensions de classe sont appliquées.

J'ai juste essayé d'apporter une modification à l'application pour la première fois depuis des années et maintenant je ne peux pas faire en sorte que l'application charge le fichier .mxd.

Le .mxd peut être ouvert dans ArcMap sans problème, donc je sais que les extensions de classe sont bien installées sur la machine. Mais lorsque l'application ArcGIS Engine se charge, elle se bloque sans erreur ni avertissement dès qu'elle charge le fichier .mxd.

axMapControl1.LoadMxFile("MyMXD")

Si je supprime les couches de carte du .mxd qui ont les extensions de classe, cela s'ouvre correctement.

Si j'ajoute la bibliothèque d'extension de classe en tant que référence de projet et que le projet d'extension de classe est également ouvert dans Visual Studio, je peux parcourir le code d'extension de classe. Ce que je vois, c'est que le nouveau sous-marin est appelé et que la variable de niveau de module est définie. Une fois arrivé à la fin du sous-marin, l'application ArcEngine se bloque, elle n'appelle pas le nouveau sous-marin sur la classe d'entités suivante dans le service de carte.

Public Sub New() MyBase.New() End Sub 'Crash après cette ligne

Je viens de remarquer une erreur enregistrée dans la fenêtre de sortie après le crash. Lorsque l'application se bloque après le chargement de l'extension de première classe, l'erreur

Session ARC sans licence - terminée !

Est enregistré dans la fenêtre Sortie. L'application ArcEngine se lie avec succès à un environnement d'exécution et j'initialise avec succès une licence avec AoInitialize, donc pas pourquoi cette erreur est générée.


Voir la vidéo: GIS Tools: ArcMapArcGIS Tool for connecting points