InfoPath 2007 ou InfoPath 2003 Service Pack 1 cesse de répondre lorsqu'il y a un contrôle ActiveX avec une propriété ReadyState

Traductions disponibles Traductions disponibles
Numéro d'article: 888705 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Microsoft Office InfoPath 2007 ou Microsoft Office InfoPath 2003 Service Pack 1 cesse de répondre lorsqu'il y a un contrôle ActiveX avec une propriété ReadyState . Ce problème se produit lorsque vous ouvrez ou vous affichez l'aperçu d'un formulaire InfoPath qui inclut un contrôle ActiveX avec la propriété ReadyState standard.

note Vous ne pouvez pas en outre, ajouter une conception de future en mode formulaire. Par exemple, vous ne pouvez pas ajouter des nouveaux contrôles en mode formulaire et vous ne pouvez pas accéder à l'éditeur de script. En outre, vous ne pouvez pas facilement supprimer les contrôles du mode formulaire.

Cause

Ce problème se produit car InfoPath attend que la propriété ReadyState d'un contrôle ActiveX à définir à 4.

Contournement

N'utilisez pas un contrôle ActiveX à l'aide de la propriété ReadyState .

Statut

Microsoft a confirmé qu'il s'agit un bogue dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

La propriété ReadyState est l'énumération suivante :
  • READYSTATE_UNINITIALIZED = 0
  • READYSTATE_LOADING = 1
  • READYSTATE_LOADED = 2
  • READYSTATE_INTERACTIVE = 3
  • READYSTATE_COMPLETE = 4

Procédure pour reproduire le problème

Créer un contrôle est nommé ReadyStateControl . Pour ce faire, procédez comme suit :
  1. Démarrez Microsoft Visual Studio. .NET 2003.
  2. Dans le menu Fichier , cliquez sur Nouveau , puis cliquez sur projet pour créer un nouveau projet.
  3. Dans la boîte de dialogue Nouveau projet , cliquez sur projets Visual C++ , cliquez sur le projet ATL et tapez ReadyStateControl dans la zone Nom .
  4. Cliquez sur OK , puis cliquez sur Terminer pour accepter tous les paramètres par défaut pour le projet ATL.
  5. Dans le menu projet , cliquez sur Ajouter une classe .
  6. Dans la boîte de dialogue Ajouter une classe , double-cliquez sur Contrôle ATL .
  7. Dans la boîte de dialogue Assistant Contrôle ATL , tapez ReadyState dans la zone nom court .
  8. Cliquez sur Propriétés du stock , cliquez sur État de prêt dans la liste non pris en charge , puis cliquez sur >Pour ajouter la propriété State prêt à la liste de prise en charge .
  9. Cliquez sur Terminer .
  10. Dans le fichier readystate.h, recherchez la ligne suivante.
    public CComControl<CReadyState>
    placer la ligne suivante sous la ligne précédente.
     public IObjectSafetyImpl<CReadyState, INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACESAFE_FOR_UNTRUSTED_CALLER>
    Remarque vous devez ajouter une virgule (,) à la ligne existante avant d'ajouter la nouvelle ligne.
  11. Dans le menu Générer , cliquez sur Générer la solution pour générer le projet.
Tester le contrôle ReadyStateControl . Pour ce faire, procédez comme suit :
  1. Démarrer InfoPath.
  2. Dans le menu Fichier , cliquez sur Créer un formulaire .
  3. Dans le volet de créer un formulaire , cliquez sur Nouveau formulaire vierge .
  4. Cliquez sur contrôles , puis cliquez sur Ajouter ou supprimer des contrôles personnalisés .
  5. Dans la boîte de dialogue Ajouter ou supprimer des contrôles personnalisés , cliquez sur Ajouter .
  6. Dans l'Assistant Ajout de contrôle personnalisé, cliquez sur objet CReadyState et puis cliquez sur suivant .
  7. Cliquez sur suivant pour continuer à accepter les options par défaut. Cliquez sur Terminer , puis cliquez sur OK .
  8. Sous personnalisé , cliquez sur objet CReadState dans le volet contrôles .

    Cela ajoute le contrôle objet CReadState à l'écran.
  9. Sous standard , cliquez sur zone de texte pour ajouter un contrôle zone de texte à l'écran.
  10. Cliquez sur Aperçu du formulaire .

    InfoPath 2003 Service Pack 1 ne répond pas. Vous ne pouvez pas accéder le contrôle de zone de texte .

Propriétés

Numéro d'article: 888705 - Dernière mise à jour: mercredi 18 avril 2007 - Version: 2.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
Mots-clés : 
kbmt kbtshoot kbqfe kbbug KB888705 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 888705
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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