6 votos

ArcGIS 10: Problema con la carga de la caja de herramientas de la extensión AddIn

Tengo una clase de extensión en un proyecto de complemento de ArcMap que carga una caja de herramientas personalizada en ArcToolbox cuando el usuario abre ArcMap o abre un mapa creado previamente. Mi caja de herramientas se añade a ArcToolbox bien excepto cuando el usuario crea un nuevo mapa desde Archivo > Nuevo. Mi caja de herramientas simplemente desaparece (sin mensajes). Estoy corriendo AG10 SP2 pero tampoco funciona en AG10 base.

¿A alguien más le ha pasado? ¿Soluciones?

protected override void OnStartUp()
{
   AddToolboxes();
   #region Wire events
   ArcMap.Events.NewDocument += delegate() { ArcMap_NewDocument(); };
   #endregion
}
void ArcMap_NewDocument()
{
   AddToolboxes();
}
void AddToolboxes()
    {

        // Load toolbox into ArcToolbox
        IArcToolboxExtension arcTbxExt;
        try
        {
            arcTbxExt = (IArcToolboxExtension)ArcMap.Application.FindExtensionByName("ESRI ArcToolbox");
            if (arcTbxExt == null) { throw new Exception("ArcToolbox extension could not be found."); }
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show("Error finding ArcToolbox extension." + Environment.NewLine + " - " + ex.Message);
            return;
        }

        try
        {
            IGPToolbox2 toolbox = Maersk.Functions.Toolbox.OpenToolbox("C:\\Toolboxes\\MyToolbox.tbx");
            arcTbxExt.ArcToolbox.AddToolbox((IGPToolbox)toolbox);
            arcTbxExt.ArcToolbox.Refresh();

        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show("Error launching  toolbox." + Environment.NewLine + " - " + ex.Message);
            return;
        }

    }

1voto

saint_groceon Puntos 2696

Aquí pasa algo raro.

Con la extensión del complemento de abajo, aparece un cuadro de mensaje que me muestra que mi caja de herramientas está ahí. Funciona bien la primera vez que se carga el documento, pero si pulso el botón de nuevo archivo de mapa, aparece el cuadro de mensaje y, unos segundos después, desaparece el cuadro de herramientas. Algo está limpiando las cajas de herramientas después de que el evento de cambio de mapas se dispara.

enter image description here

private 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:\gems\MMS\testtoolbox.tbx");
        MessageBox.Show("added toolbox");
    }
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X