Articles of com

Por que exatamente eu preciso de um upcast explícito ao implementar o QueryInterface () em um object com várias interfaces ()

Suponha que eu tenha uma class implementando duas ou mais interfaces COM: class CMyClass : public IInterface1, public IInterface2 { }; Quase todos os documentos que vi sugerem que quando eu implemento QueryInterface () para IUnknown eu explicitamente elevo este ponteiro para uma das interfaces: if( iid == __uuidof( IUnknown ) ) { *ppv = […]

Como faço para instanciar corretamente objects COM de 32 bits no ASP clássico depois de instalar o Windows Update KB4340558?

No Windows Server 2012 R2, após a instalação da atualização KB4340558 (histórico de atualizações) / KB4338424 (atualizações instaladas), não é mais possível instanciar .NET .DLLs (interoperabilidade) no ASP clássico no modo de 32 bits usando server.createobject . Recebemos o erro 0x800A01AD “Componente ActiveX não pode criar object” Quando desinstala a atualização, o erro desaparece. Apesar […]

Erro ao acessar componentes COM

Eu construí um suplemento para o Microsoft Office Word. Não há um problema ao usar o suplemento quando o Word é executado como Administrador, mas quando não é executado como um Administrador, há duas exceções comuns ao acessar os elementos da Faixa de Opções. A primeira exceção: Unable to cast COM object of type ‘System.__ComObject’ […]

Melhor maneira de acessar objects COM de c #

Estou planejando usar vários objects que são expostos como objects COM. Para torná-los mais fáceis de usar, eu gostaria de envolvê-los como objects C #. Qual é a melhor abordagem para isso?

Transformar uma DLL C # simples em um componente de interoperabilidade COM

Como faço para criar uma DLL C # em uma DLL de interoperabilidade COM que possa ser consumida por um aplicativo VB6?

Como colocar o controle WebBrowser no IE9 em padrões?

Eu estou usando automação (ou seja, COM automação) para exibir alguns HTML no Internet Explorer (9): ie = CoInternetExplorer.Create; ie.Navigate2(“about:blank”); webDocument = ie.Document; webDocument.Write(szSourceHTML); webDocument.Close(); ie.Visible = True; O Internet Explorer aparece, mostrando meu html, que começa como: … Observação: o doctype html opt-in do modo de padrões html5 Exceto que o documento não está […]

Erro ASP 0177: 8007007e Server.CreateObject falha para COM DLL

Estamos tentando instalar uma DLL COM em um novo servidor. A interface é ASP clássico. A DLL do conector de mapa parece ser o problema, mas isso é o máximo que posso obter. Não conseguimos que as páginas servidas pelo IIS forneçam algo além de um erro 500. Ao rastrear o ASP: 127. -ASP_SCRIPT_TRACE_COM_CALL_END Caminho […]

StaTaskScheduler e STA mensagem de bombeamento de thread

TL; DR: Um deadlock dentro de uma tarefa executada pelo StaTaskScheduler . Versão longa: Eu estou usando StaTaskScheduler de ParallelExtensionsExtras pela equipe paralela, para hospedar alguns objects STA COM herdados fornecidos por terceiros. A descrição dos detalhes da implementação do StaTaskScheduler diz o seguinte: A boa notícia é que a implementação da TPL pode ser […]

Como o compilador C # detecta tipos COM?

EDIT: eu escrevi os resultados como um post no blog . O compilador C # trata os tipos de COM um pouco magicamente. Por exemplo, esta afirmação parece normal … Word.Application app = new Word.Application(); … até você perceber que o Application é uma interface. Chamando um construtor em uma interface? Yoiks! Isso realmente é […]

Gerar arquivos de manifesto para COM sem registro

Eu tenho alguns aplicativos (alguns nativos, alguns .net) que usam arquivos de manifesto para que eles possam ser implantados em isolamento completo , sem exigir qualquer registro COM global. Por exemplo, a dependência do servidor dbgrid32.ocx com é declarada da seguinte forma no arquivo myapp.exe.manifest que fica na mesma pasta que myapp.exe: O dbgrid32.ocx é […]