InfoPath 2007 o Pack 1 de InfoPath 2003 deja de responder cuando hay un control ActiveX con una propiedad ReadyState

Seleccione idioma Seleccione idioma
Id. de artículo: 888705 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Microsoft Office InfoPath 2007 o Office InfoPath 2003 Service Pack 1 deja de responder cuando hay un control ActiveX con una propiedad ReadyState . Este problema se produce cuando se abre o obtener una vista previa de un formulario de InfoPath que incluya un control ActiveX con la propiedad ReadyState estándar.

Nota Además, no se puede agregar un diseño futuro a la vista formulario. Por ejemplo, no puede agregar nuevos controles a la vista formulario y no puede tener acceso el editor de secuencias de comandos. Además, no puede eliminar fácilmente controles desde la vista formulario.

Causa

Este problema se produce porque InfoPath está esperando la propiedad ReadyState de un control ActiveX se establece en "4".

Solución

No utilice un control ActiveX con la propiedad ReadyState .

Estado

Microsoft ha confirmado que se trata de un error de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

La propiedad ReadyState tiene la siguiente enumeración:
  • READYSTATE_UNINITIALIZED = 0
  • READYSTATE_LOADING = 1
  • READYSTATE_LOADED = 2
  • READYSTATE_INTERACTIVE = 3
  • READYSTATE_COMPLETE = 4

Pasos para reproducir el problema

Crear un control que se denomina ReadyStateControl . Para ello, siga estos pasos:
  1. Inicie Microsoft Visual Studio. NET 2003.
  2. En el menú archivo , haga clic en nuevo y, a continuación, haga clic en proyecto para crear un nuevo proyecto.
  3. En el cuadro de diálogo Nuevo proyecto , haga clic en Proyectos de Visual C++ , haga clic en Proyecto ATL y, a continuación, escriba ReadyStateControl en el cuadro nombre .
  4. Haga clic en Aceptar y, a continuación, haga clic en Finalizar para aceptar todos los valores predeterminados para el proyecto ATL.
  5. En el menú proyecto , haga clic en Agregar clase .
  6. En el cuadro de diálogo Agregar clase , haga doble clic en Control ATL .
  7. En el cuadro de diálogo Asistente para controles ATL , escriba ReadyState en el cuadro nombre corto .
  8. Haga clic en Propiedades , haga clic en Estado de listo en la lista no se admite y, a continuación, haga clic en > para agregar la propiedad de Estado de listo a la lista de compatibilidad .
  9. Haga clic en Finalizar .
  10. En el archivo readystate.h, busque la siguiente línea.
    public CComControl<CReadyState>
    coloque la línea siguiente debajo de la línea anterior.
     public IObjectSafetyImpl<CReadyState, INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACESAFE_FOR_UNTRUSTED_CALLER>
    Nota es necesario que agregue una coma (,) a la línea existente antes de agregar la nueva línea.
  11. En el menú Generar , haga clic en Generar solución para generar el proyecto.
Probar el control ReadyStateControl . Para ello, siga estos pasos:
  1. Iniciar InfoPath.
  2. En el menú archivo , haga clic en diseñar un formulario .
  3. En el panel de diseñar un formulario , haga clic en Nuevo formulario en blanco .
  4. Haga clic en Controles y, a continuación, haga clic en Agregar o quitar controles personalizados .
  5. En el cuadro de diálogo Agregar o quitar controles personalizados , haga clic en Agregar .
  6. En el Asistente personalizado para agregar un control, haga clic en Objeto CReadyState y, a continuación, haga clic en siguiente .
  7. Haga clic en siguiente para continuar Aceptar las opciones predeterminadas. Haga clic en Finalizar y, a continuación, haga clic en Aceptar .
  8. Bajo personalizado , haga clic en Objeto CReadState en el panel controles .

    Esto agrega el control CReadState Object al formulario.
  9. En el estándar , haga clic en el TextBox para agregar un control TextBox al formulario.
  10. Haga clic en vista previa del formulario .

    InfoPath 2003 Service Pack 1 no responde. Puede no acceso al control TextBox .

Propiedades

Id. de artículo: 888705 - Última revisión: miércoles, 18 de abril de 2007 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
Palabras clave: 
kbmt kbtshoot kbqfe kbbug KB888705 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 888705

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com