Artigo: 302902 - Última revisão: terça-feira, 27 de Março de 2007 - Revisão: 7.4 Enlace para servidores de automatização do Office com o Visual C# .NET
Nesta páginaSumárioQuando uma aplicação como o Microsoft Office é automatizar aplicação, as chamadas para as propriedades e métodos do escritório objectos de aplicação tem de estar ligados de alguma forma a esses objectos. O processo de propriedade de ligação e chamadas de método para os objectos que implementam as propriedades e métodos normalmente é chamado de enlace . No Visual C#, os dois tipos de ligação disponíveis são ligação antecipada e vinculação posterior . O tipo de enlace que escolher pode afectar muitos aspectos do programa, incluindo desempenho, flexibilidade e maintainability. Este artigo explica e compara o enlace antecipada e atrasada para clientes de automatização do Visual C# e fornece exemplos de código que demonstram a ambos os tipos de enlace. Enlace antecipadoCom o enlace inicial, Visual C# é utiliza o tipo de informações disponíveis sobre a aplicação do Office em questão para ligar directamente a métodos ou propriedades necessita de utilizar. O compilador pode executar o tipo e verifica a sintaxe para garantir que o número correcto e o tipo de parâmetros passam para o método ou propriedade e que o valor devolvido será do tipo esperado. Uma vez que menos trabalho é necessário em tempo de execução para efectuar uma chamada para uma propriedade ou método, ligação antecipada por vezes é mais rápida; no entanto, apesar de enlace inicial poderá ser mais rápido, diferenças de desempenho quando comparado com enlace tardio frequentemente insignificantes.Início do enlace tem a desvantagem secundária que pode introduzir versão possíveis problemas de compatibilidade. Por exemplo, suponha que um servidor de automatização tal como o Microsoft Excel 2002 introduz um novo método ou propriedade que não estiver disponível no Excel 2000 ou efectua uma alteração de um método ou propriedade existente. Estas alterações podem alterar o esquema do objecto binário e causar problemas com uma aplicação do Visual C# que utiliza as informações de tipo Excel 2002 para automatizar o Excel 2000. Para evitar este problema com o enlace inicial, geralmente recomendamos que utilize as informações de tipo para a versão mais antiga da aplicação do Office que pretende suportar quando desenvolver e testar o cliente de automatização. Os seguintes passos demonstram como criar um cliente de automatização que utiliza o enlace inicial. Repare que, como os passos ilustram, início do enlace requer para referenciar a biblioteca de tipos para o cliente de automatização. Criar um cliente de automatização que utiliza o enlace inicial
Enlace dinâmicoEm contraste com o enlace inicial, a ligação mais tarde aguarda até que tempo de execução para ligar propriedades e método de chamadas para os respectivos objectos. Para efectuar este procedimento, o objecto de destino tem de implementar uma interface COM especial: IDispatch . O método IDispatch::GetIDsOfNames permite Visual C# para interrogar um objecto sobre os métodos e propriedades que suporta e, em seguida, permite o método IDispatch::Invoke Visual C# para chamar esses métodos e propriedades. Enlace tardio desta forma tem a vantagem de remover algumas das dependências versão inerentes com ligação antecipada. No entanto, tem as desvantagens Remover verificações de tempo de compilação a integridade do código de automatização, bem como não fornecer funcionalidades de IntelliSense podem fornecer pistas para corrigir as chamadas para métodos e propriedades.Para utilizar enlace tardio no Visual C#, utilize o método System.Type.InvokeMember . Este método chama IDispatch::GetIDsOfNames e IDispatch::Invoke para ligar a métodos e propriedades do servidor de automatização. Criar um cliente de automatização que utiliza o enlace tardio
ReferênciasPara mais informações, visite o seguinte Web site da Microsoft Developer Network (MSDN): Desenvolvimento do Microsoft Office com o Visual Studio Para obter informações adicionais sobre a ligação, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft: http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx (http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx) 245115
(http://support.microsoft.com/kb/245115/
)
Utilizar ligação antecipada e vinculação posterior na automatização 244167
(http://support.microsoft.com/kb/244167/
)
Clientes de automatização de escrita para várias versões do Office 247579
(http://support.microsoft.com/kb/247579/
)
Utilizar ligação DISPID para automatizar a aplicações do Office sempre que possível A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 302902
(http://support.microsoft.com/kb/302902/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo