Suite

ArcGIS 10 : problème de la boîte à outils de chargement de l'extension AddIn


J'ai une classe d'extension dans un projet de complément ArcMap qui charge une boîte à outils personnalisée dans ArcToolbox lorsque l'utilisateur ouvre ArcMap ou ouvre une carte précédemment créée. Ma boîte à outils est ajoutée à ArcToolbox sans problème, sauf lorsque l'utilisateur crée une nouvelle carte à partir de Fichier > Nouveau. Ma boîte à outils disparaît (pas de messages). J'utilise AG10 SP2 mais cela ne fonctionne pas non plus dans la base AG10.

Quelqu'un d'autre a vécu ça ? Solutions?

annulation protégée void OnStartUp() { AddToolboxes(); #region Événements de connexion ArcMap.Events.NewDocument += délégué() { ArcMap_NewDocument(); } ; #endregion } void ArcMap_NewDocument() { AddToolboxes(); } void AddToolboxes() { // Charger la boîte à outils dans ArcToolbox IArcToolboxExtension arcTbxExt; essayez { arcTbxExt = (IArcToolboxExtension)ArcMap.Application.FindExtensionByName("ESRI ArcToolbox"); if (arcTbxExt == null) { throw new Exception("L'extension ArcToolbox n'a pas pu être trouvée."); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Erreur lors de la recherche de l'extension ArcToolbox." + Environment.NewLine + " - " + ex.Message); revenir; } essayez { IGPToolbox2 toolbox = Maersk.Functions.Toolbox.OpenToolbox("C:ToolboxesMyToolbox.tbx"); arcTbxExt.ArcToolbox.AddToolbox((IGPToolbox)boîte à outils); arcTbxExt.ArcToolbox.Refresh(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Erreur de lancement de la boîte à outils." + Environment.NewLine + " - " + ex.Message); revenir; } }

Il se passe quelque chose de flippant ici.

Avec l'extension de complément ci-dessous, une boîte de message s'affiche pour me montrer que ma boîte à outils est là. Cela fonctionne bien la première fois que le document se charge, mais si j'appuie sur le nouveau bouton Map File, la boîte de message apparaîtra, puis quelques secondes plus tard, la boîte à outils disparaît. Quelque chose efface les boîtes à outils après le déclenchement de l'événement de modification des cartes.

privé IGeoProcessor2 m_Geoproc; Protected override void OnStartup() { ArcMap.Events.MapsChanged += new ESRI.ArcGIS.ArcMapUI.IDocumentEvents_MapsChangedEventHandler(Events_MapsChanged); m_Geoproc = new GeoProcessorClass(); } void Events_MapsChanged() { if(string.IsNullOrEmpty(m_Geoproc.ListToolboxes("testtoolbox").Next())) { m_Geoproc.AddToolbox(@"D:gemsMMS	esttoolbox.tbx"); MessageBox.Show("boîte à outils ajoutée"); } }


Voir la vidéo: Fixing ArcTools When Not Working in GIS. Tools Not Licenced Error at ArcMap (Octobre 2021).