none
System.Runtime.InteropServices.COMException desde IAccessible.accLocation (DISP_E_MEMBERNOTFOUND) RRS feed

  • Pregunta

  • Buenas tardes,

    Tengo la siguiente excepción:

    System.Runtime.InteropServices.COMException occurred
    
      Message="Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))"
    
      Source="Accessibility"
    
      ErrorCode=-2147352573
    
      StackTrace:
    
           at Accessibility.IAccessible.accLocation(Int32& pxLeft, Int32& pyTop, Int32& pcxWidth, Int32& pcyHeight, Object varChild)
    
           at Microsoft.Ccf.HostedApplicationToolkit.DataDrivenAdapter.OleAccHelperMethods.BuildIAccessibleKey(IAccessible accObj, Int32 childId)
    
           at Microsoft.Ccf.HostedApplicationToolkit.DataDrivenAdapter.AccEventListener.EventHandler(IntPtr hWinEventHook, Int32 iEvent, IntPtr hWnd, Int32 idObject, Int32 idChild, Int32 dwEventThread, Int32 dwmsEventTime)
    
           at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG& msg, HandleRef hwnd, Int32 msgMin, Int32 msgMax, Int32 remove)
    
           at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
    
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    
           at System.Windows.Forms.Application.Run(Form mainForm)
    
           at Microsoft.Practices.CompositeUI.WinForms.FormShellApplication`2.Start() in c:\Ccf\v3.0\CcfEverest\CcfEverestFull\Sources\Private\Microsoft.Ccf\Microsoft.Ccf\CAB\CompositeUI.WinForms\FormShellApplication.cs:line 31
    
           at Microsoft.Practices.CompositeUI.CabApplication`1.Run() in c:\Ccf\v3.0\CcfEverest\CcfEverestFull\Sources\Private\Microsoft.Ccf\Microsoft.Ccf\CAB\CompositeUI\CabApplication.cs:line 81
    
           at Microsoft.Ccf.Csr.CcfShellBase`1.StartApplication()
    
           at Microsoft.Ccf.Samples.Csr.AgentDesktop.StartApplication.startDesktop() in F:\Movistar.Ccf.FaseIII\Microsoft.Ccf.Samples.Csr.AgentDesktop\Microsoft.Ccf.Samples\Csr\AgentDesktop\Main.cs:line 125
    
      InnerException: 
    
    
    
    

    Lo cual ocasiona que se cierre la aplicación por completo en medio de la operación.

    No se presenta siempre este error.

    Alguna idea?

    Gracias.
    miércoles, 23 de septiembre de 2009 21:55

Todas las respuestas

  • Hola. Hasta donde sé, ese código de error COM (DISP_E_MEMBERNOTFOUND) se da cuando intentas accedera algún elemento a través de IDispatch, pero cuyo identificador no existe. 

    Sin saber qué estás utilizando, lo más que te podría sugerir es que revises que la version de tus dependencias sean las correctas, y revisa la documentación de tu componente COM para ver cómo utiliza IDispatch. 

    Sin más información sobre qué estás intentando hacer, es lo que se me ocurre. 

    Saludos. 


    Fernando Gómez
    www.fermasmas.com
    lunes, 28 de septiembre de 2009 17:23
  • Gracias Fernando,

    Estoy trabajando con CCF 2008 y en los requerimientos debimos realizar la automatización de aplicaciones hosteadas en CCF pero sin hacer uso de workflows.

    Para esto, utilizamos el API de Accessibility. La idea es hacer la suscripción a los eventos de controles que se encuentren en el formulario o la página web de la aplicación hosteada y en reacción a esos eventos, mostrar notificaciones al estilo MSN. Esto funciona bien, pero en ocasiones se genera la excepción mencionada y la aplicación se cierra por completo.

    No se a qué se refiere con: 
    revises que la version de tus dependencias sean las correctas, y revisa la documentación de tu componente COM para ver cómo utiliza IDispatch.
    Gracias por su colaboración.

    Saludos,

    Brian Eduardo Garnica
    martes, 29 de septiembre de 2009 15:12