InfoPath 2007 ou o InfoPath 2003 Service Pack 1 pára de responder quando há um controle ActiveX com uma propriedade ReadyState

Traduções deste artigo Traduções deste artigo
ID do artigo: 888705 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Microsoft Office InfoPath 2007 ou Microsoft Office InfoPath 2003 Service Pack 1 pára de responder quando há um controle ActiveX com uma propriedade ReadyState . Esse problema ocorre quando você abrir ou visualizar um formulário do InfoPath que inclua um controle ActiveX com a propriedade ReadyState padrão.

Observação Além disso, não é possível adicionar um design de futuro para o modo de formulário. Por exemplo, você não pode adicionar novos controles para o modo de formulário e não é possível acessar o editor de scripts. Além disso, você não pode excluir facilmente controles do modo de formulário.

Causa

Esse problema ocorre porque o InfoPath está aguardando a propriedade ReadyState de um controle ActiveX para ser definido como "4".

Como Contornar

Não use um controle ActiveX com a propriedade ReadyState .

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

A propriedade ReadyState possui a enumeração seguinte:
  • READYSTATE_UNINITIALIZED = 0
  • READYSTATE_LOADING = 1
  • READYSTATE_LOADED = 2
  • READYSTATE_INTERACTIVE = 3
  • READYSTATE_COMPLETE = 4

Etapas para reproduzir o problema

Crie um controle que é chamado ReadyStateControl . Para fazer isso, execute as seguintes etapas:
  1. Inicie o Microsoft Visual Studio. NET 2003.
  2. No menu arquivo , clique em novo e, em seguida, clique em Project para criar um novo projeto.
  3. Na caixa de diálogo New Project , clique em Visual C++ Projects , clique em Projeto ATL e digite ReadyStateControl na caixa nome .
  4. Clique em OK e clique em Concluir para aceitar todas as configurações padrão para o projeto ATL.
  5. No menu Project , clique em Add Class .
  6. Na caixa de diálogo Add Class , clique duas vezes Controle ATL .
  7. Na caixa de diálogo do Assistente de controle ATL , digite ReadyState na caixa nome curto .
  8. Clique em Propriedades de ações , clique em Estado de pronto na lista sem suporte e, em seguida, clique em > para adicionar a propriedade State se a lista de suporte .
  9. Clique em Concluir .
  10. No arquivo readystate.h, localize a seguinte linha de.
    public CComControl<CReadyState>
    colocar a seguinte linha na linha anterior.
     public IObjectSafetyImpl<CReadyState, INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACESAFE_FOR_UNTRUSTED_CALLER>
    Observação você precisa adicionar uma vírgula (,) para a linha existente antes de adicionar a nova linha.
  11. No menu Build , clique em Build Solution para criar o projeto.
Teste o controle ReadyStateControl . Para fazer isso, execute as seguintes etapas:
  1. Inicie o InfoPath.
  2. No menu arquivo , clique em criar um formulário .
  3. No painel de criar um formulário , clique em Novo formulário em branco .
  4. Clique em controles e, em seguida, clique em Adicionar ou remover controles personalizados .
  5. Na caixa de diálogo Adicionar ou remover controles personalizados , clique em Adicionar .
  6. No Assistente para adicionar controle de personalizados, clique em Objeto CReadyState e em seguida, clique em Avançar .
  7. Clique em Avançar para continuar a aceitar as opções padrão. Clique em Concluir e, em seguida, clique em OK .
  8. Em Personalizar , clique em Objeto CReadState no painel de controles .

    Isso adiciona o controle CReadState objeto ao formulário.
  9. Em padrão , clique em TextBox para adicionar um controle TextBox ao formulário.
  10. Clique em visualizar formulário .

    InfoPath 2003 Service Pack 1 não está respondendo. Não é possível acessar o controle TextBox .

Propriedades

ID do artigo: 888705 - Última revisão: quarta-feira, 18 de abril de 2007 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
Palavras-chave: 
kbmt kbtshoot kbqfe kbbug KB888705 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 888705

Submeter comentários

 

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