Exportar componentes DCOM

20/12/2005

4

Tenho uma aplicacao n-camadas usando DataSnap + DbExpress para acesso a dados.
Na maquina em que estou desenvolvendo tudo funciona perfeitamente, mas estou com problemas na hora de destribuir o sistema.
Consigo exportar o servidor que gera um arquivo *.msi, mas na hora de instalar esse arquivo da um erro: ´Error registering COM+ application´.
Alguem poderia me explicar melhor como distribuir esse tipo de aplicacao?


Responder

Posts

você precisa ter em mãos o .msi e o .cab


Responder

20/12/2005

Danilodcf

Tudo certo emerson, consegui instalar os arquivos msi, tanto para o cliente quanto para o servidor. Estava faltando copiar a midas.dll para a pasta system32.
O problema agora eh na hora de fazer a conexao com o servidor de aplicativo (estou usando o TDCOMConection no cliente), esta dando um erro: ´interface not supported´.
Já registrei a midas.dll, mas nao resolveu o problema.
O que sera que está faltando configurar?


Responder
tanto para o cliente quanto para o servidor?

o objeto COM deveria ser instalado somente no servidor.

eu não sei te dizer o que acontece com o DCOMConnection. não conheço suas necessidades/requerimentos, pois trabalho com SocketConnection.


Responder

21/12/2005

Danilodcf

Qual a diferenca entre o DCOMConection e o SocketConection? (vantagens e desvantagens)
Tem como conectar um ClientDataSet a Provider do servidor usando SocketConection?


Responder

21/12/2005

Pain_elemental

O .msi nao deve estar publicando os componentes do midas, ela nao precisa apenas estar registrada, tem que estar distribuída.

Importe is componentes dentro do seu aplicativo de servidor (os componentes Borland Midas.*) ou dentro de um novo aplicativo e defina as permissoes. Você pode fazer isso em Ferramentas Administrativas -> Serviços de componentes.


Responder

02/01/2006

Faster_rj

Diferença entre o Socket e o DcomConnection.

O socket utiliza um protocolo da Borland e por isso necessita do Socket Server rodando no servidor. (é mais rápido)

O DcomConnection é da Microsoft e o Windows já tras o servidro embutido.

Mas os dois tem problemas com performance.

´Interface not suported´ - para corrigir este problema você deve registrar o arquivo .TLB na maquina cliente.

Acho que não deve ser registrado, exportado, NENHUM componente para o CLIENTE. Tem que funcionar perfeitamente sem registrar.

Eu não utilizo NENHUM dos dois componentes da BORLAND.

Eu importo a TypeLibrary para o projeto cliente, e utilizo da seguinte forma.
MeuObjeto: IMinhaInterface;
MeuObjeto := COClassMinha.CreateRemote(servidor);

O unico porblema é ter que registrar o TLB em TODOs os clientes mas é MUITOOOO mais rápido e para trabalhar você tem o CODE COMPLETION!

abração!


Responder