Problemas com WinXP SP2 e COM
Galera, não sei se alguém já passou por isso...
Tinha meus aplicativos COM+ funcionando perfeitamente no Windows 2000, mas agora, com o Windows XP SP2 eles deixaram de funcionar. Quando os objetos são acessados é exibida uma informação de erro no dllhost.exe (A instrução no ´0x01210054´ fez referência à memória no ´0x00000000´. A memória não pôde ser ´written´.
Alguém já passou por isso?
Tinha meus aplicativos COM+ funcionando perfeitamente no Windows 2000, mas agora, com o Windows XP SP2 eles deixaram de funcionar. Quando os objetos são acessados é exibida uma informação de erro no dllhost.exe (A instrução no ´0x01210054´ fez referência à memória no ´0x00000000´. A memória não pôde ser ´written´.
Alguém já passou por isso?
Emerson Nascimento
Curtidas 0
Respostas
Thomaz_prg
18/01/2006
Não sei se é o seu caso, mas tivemos o mesmo problema aqui. Só que o nosso foi devido ao Firewall do windows, que tava bloqueando a criação de novos processos. Bastou colocarmos a aplicação na lista de exceções (de bloqueio). Mas dê uma olhada também em Serviços de componentes -> Meu Computador (botão direito -> Propriedades) -> Segurança COM
Clique nos dois Editar Limites... O usuário todos tem que ter permissões...
Clique nos dois Editar Limites... O usuário todos tem que ter permissões...
GOSTEI 0
Emerson Nascimento
18/01/2006
eu já havia feito tudo isso... inclusive eu desabilitei o Firewall do Windows e continuou não funcionando...
alterei também as configurações de segurnça do COM+ e nada...
alterei também as configurações de segurnça do COM+ e nada...
GOSTEI 0
Bruno.barcellos
18/01/2006
Cara tive um preblema parecido com esse na empresa onde trabalho.
eu tinha uma aplicação multi-camadas rodando perfeirtamente no win 2000 e quando fui execultar testes no xp sp2, aí fudeu.... foi pau pra todo lado.tentamos de toda forma saiamos de um erro e aparecia outro. então entramos em contato com o ´Bruno Lixot´ da clube delphi e ele disse q teve o mesmo problema e siplesmente abandou o COM+ para usar o Socket. dai marcamos uma consultoria com ele, ele esplicou qual seria as vantagens de usar o socket e a desvantagens tb. e decidimos usa-lo e estamos trabalhando até hj com ele sem problemas.
De maneira alguma estou falando q o COM+ não presta, só que ele trabalha com a biblioteca interna do windows então vc corre o serio risco de ter problemas com verssionamentos diferentes de windows, ja o socket trabalha com protas e pode ser perfeitamente utilizado em qualquer verssão de windows. e outra ele trabalha com serviços e não com processor como o COM+. tente usa-lo é uma boa saida
eu tinha uma aplicação multi-camadas rodando perfeirtamente no win 2000 e quando fui execultar testes no xp sp2, aí fudeu.... foi pau pra todo lado.tentamos de toda forma saiamos de um erro e aparecia outro. então entramos em contato com o ´Bruno Lixot´ da clube delphi e ele disse q teve o mesmo problema e siplesmente abandou o COM+ para usar o Socket. dai marcamos uma consultoria com ele, ele esplicou qual seria as vantagens de usar o socket e a desvantagens tb. e decidimos usa-lo e estamos trabalhando até hj com ele sem problemas.
De maneira alguma estou falando q o COM+ não presta, só que ele trabalha com a biblioteca interna do windows então vc corre o serio risco de ter problemas com verssionamentos diferentes de windows, ja o socket trabalha com protas e pode ser perfeitamente utilizado em qualquer verssão de windows. e outra ele trabalha com serviços e não com processor como o COM+. tente usa-lo é uma boa saida
GOSTEI 0
Emerson Nascimento
18/01/2006
nessa altura do campeonato não será possível uma alteração desse tamanho...
acho que a solução mais simples será desinstalar o SP2...
acho que a solução mais simples será desinstalar o SP2...
GOSTEI 0
Bruno.barcellos
18/01/2006
cara eu pensei a mesa coisa q vc, mas é o seguinte. a migração num demora 5 hors e isso pq eu to sendo exagerado.procura saber direitinho pq é muito simples
GOSTEI 0
Thomaz_prg
18/01/2006
Emerson, você já tentou instalar o seu software em uma máquina com o XP SP2, instalar o delphi, e recompilar o software nessa versão do windows?
GOSTEI 0
Bruno.barcellos
18/01/2006
Bicho!!1 ddepois q tive este problema eu só trablho com windows xp sp2 trabalho com ele o dia todo win 2000 ta instinto da minha maquina, e meu sistema é compilado a cada 20 minutos no minimo. vai por mim usao socket q eu garanto
GOSTEI 0
Emerson Nascimento
18/01/2006
Emerson, você já tentou instalar o seu software em uma máquina com o XP SP2, instalar o delphi, e recompilar o software nessa versão do windows?
Já fiz isso, Thomaz. Foi a primeira providência que eu tomei.
Bicho!!1 ddepois q tive este problema eu só trablho com windows xp sp2 trabalho com ele o dia todo win 2000 ta instinto da minha maquina, e meu sistema é compilado a cada 20 minutos no minimo. vai por mim usao socket q eu garanto
Bruno, não sei se vale a pena. Agora estou desenvolvendo a nova versão do sistema com Delphi 2006 .Net, utilizando .Net Remoting. Acho que não vou peder tempo na versão anterior para portar para socket puro.
Mas de qualquer forma, valeu a dica!
GOSTEI 0
Thomaz_prg
18/01/2006
Emerson, e seu sistema compilou e rodou normalmente no SP2?? Porque, quando tivemos esse problema, resolveu-se da forma com a qual lhe disse.
GOSTEI 0
Emerson Nascimento
18/01/2006
Emerson, e seu sistema compilou e rodou normalmente no SP2?? Porque, quando tivemos esse problema, resolveu-se da forma com a qual lhe disse.
Compilei (build) o aplicativo servidor sem nenhum problema. Instalei o objeto COM+ a partir do Delphi e também não deu nenhum problema.
Compilei (build) o aplicativo cliente e também não deu qualquer tipo de problema. O problema acontece quando executo o cliente.
Agora uma constatação: o problema NÃO é na execução do COM+ nem do aplicativo cliente. O problema acontece quando o aplicativo servidor tenta conectar-se ao banco de dados (SQL Server). Porém nada foi alterado nessa parte do código.
:cry: realmente não sei o que pode ser...
GOSTEI 0
Titanius
18/01/2006
[quote:b1ca0d3ace=´thomaz_prg´]Emerson, e seu sistema compilou e rodou normalmente no SP2?? Porque, quando tivemos esse problema, resolveu-se da forma com a qual lhe disse.
Compilei (build) o aplicativo servidor sem nenhum problema. Instalei o objeto COM+ a partir do Delphi e também não deu nenhum problema.
Compilei (build) o aplicativo cliente e também não deu qualquer tipo de problema. O problema acontece quando executo o cliente.
Agora uma constatação: o problema NÃO é na execução do COM+ nem do aplicativo cliente. O problema acontece quando o aplicativo servidor tenta conectar-se ao banco de dados (SQL Server). Porém nada foi alterado nessa parte do código.
:cry: realmente não sei o que pode ser...[/quote:b1ca0d3ace]
Fala emerson,
Só dando um palpite... mas verifique seus componentes de acesso ao banco, usa dbexpress? Tive um problema parecido pois usava o Driver UIB pra firebird, foi soh mudar pro do delphi e reinstalar o dbexpress e pronto... funcionou perfeitamente... tente reinstalar o mdac (acho q eh ele mesmo neh?)
Bem, é só um palpite, mas nao custa tentar neh?
Só uma pergunta fora do contexto: Esse .Net Remoting... eh tipo o DCOM né? Ele é melhor?
GOSTEI 0
Emerson Nascimento
18/01/2006
Era isso mesmo, Titanius!
Eu utilizo uma biblioteca da CoreLabs (dbexpsda.dll). A versão que eu tinha era incompatível com o SP2. só funcionava até o SP1 do XP.
Atualizei a dll e ´voilá´... tudo voltou a funcionar normalmente!
Quanto ao .Net Remoting é a tecnologia de desenvolvimento em camadas do .Net. se é melhor eu não sei ainda...
Eu utilizo uma biblioteca da CoreLabs (dbexpsda.dll). A versão que eu tinha era incompatível com o SP2. só funcionava até o SP1 do XP.
Atualizei a dll e ´voilá´... tudo voltou a funcionar normalmente!
Quanto ao .Net Remoting é a tecnologia de desenvolvimento em camadas do .Net. se é melhor eu não sei ainda...
GOSTEI 0
Titanius
18/01/2006
Era isso mesmo, Titanius!
Eu utilizo uma biblioteca da CoreLabs (dbexpsda.dll). A versão que eu tinha era incompatível com o SP2. só funcionava até o SP1 do XP.
Atualizei a dll e ´voilá´... tudo voltou a funcionar normalmente!
Quanto ao .Net Remoting é a tecnologia de desenvolvimento em camadas do .Net. se é melhor eu não sei ainda...
Bom, tomara que seja, pois esse DCOM, vou te falar... nada pior.. hehe.. dá muito problema... em um projeto mudei pro ASTA, porém ele é dificil demais da conta.. voltei pro DCOM, e até o momento nao estou tendo problemas...
Agora, quanto a mudar pra Socket... vixi... pra isso tem que implementar tudo... desde insert até update.. dá muito trabalho... ou tem algum componente que utiliza Socket pra esse tipo de comunicação?
[]s
GOSTEI 0
Thomaz_prg
18/01/2006
SocketConnection da palheta DataSnap.
GOSTEI 0