Exportar componentes DCOM
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?
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?
Danilodcf
Curtidas 0
Respostas
Emerson Nascimento
20/12/2005
você precisa ter em mãos o .msi e o .cab
GOSTEI 0
Danilodcf
20/12/2005
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?
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?
GOSTEI 0
Emerson Nascimento
20/12/2005
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.
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.
GOSTEI 0
Danilodcf
20/12/2005
Qual a diferenca entre o DCOMConection e o SocketConection? (vantagens e desvantagens)
Tem como conectar um ClientDataSet a Provider do servidor usando SocketConection?
Tem como conectar um ClientDataSet a Provider do servidor usando SocketConection?
GOSTEI 0
Pain_elemental
20/12/2005
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.
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.
GOSTEI 0
Faster_rj
20/12/2005
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!
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!
GOSTEI 0