Google Chromeexternal

Firefoxexternal

7zipexternal

COM

COM é a tecnologia de componentes da Microsoft para a plataforma Windows.

COMDemo é um exemplo de como criar um componente simples e um cliente para este componente (na verdade três: um em C++ (nativo), um em C# e um em C++/CLI).

O desenvolvimento de um componente começa com a definição da interface em um arquivo IDL. Neste exemplo a interface chama-se IEcho e contém um único método:

interface IEcho : IUnknown {
  [id(1), helpstring("Echo method")]
  HRESULT Echo([in, string] const wchar_t* msg);
}

Uma vez definida a interface o arquivo IDL (echo.idl) é compilado com o MIDL. Isto gera quatro arquivos. Para a criação do componente são necessários o arquivo .h que contém a definição de uma classe base abstrata e o arquivo _i.c (echo_i.c) que contém os IDs do componente e da interface. A implementação do componente começa herdando da classe base abstrata e implementando os métodos da interface:

class CEcho : public IEcho {
  // ...
  HRESULT STDMETHODCALLTYPE Echo(const wchar_t* msg) {
  // ...
  }
};

O código para este demo pode ser baixado aqui: comdemo.zip (5 Kb)zip.

Para compilar com o Visual C++ 2008 Express Editionexternal basta abrir o Visual Studio 2008 Command Prompt, ir para diretório onde você descompactou os arquivos, e digitar:

> nmake
> regsrvr32 echo.dll
> server
> client