Array
(
)

Problemas com WinXP SP2 e COM

Emerson
   - 18 jan 2006

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?


Thomaz_prg
   - 18 jan 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...


Emerson
   - 18 jan 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...


Bruno.barcellos
   - 18 jan 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


Emerson
   - 18 jan 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...


Bruno.barcellos
   - 18 jan 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


Thomaz_prg
   - 18 jan 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?


Bruno.barcellos
   - 18 jan 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


Emerson
   - 18 jan 2006


Citação:
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.


Citação:
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!


Thomaz_prg
   - 19 jan 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.


Emerson
   - 19 jan 2006


Citação:
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.

realmente não sei o que pode ser...


Titanius
   - 19 jan 2006


Citação:

Citação:
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.

realmente não sei o que pode ser...


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?


Emerson
   - 19 jan 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...


Titanius
   - 19 jan 2006


Citação:
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


Thomaz_prg
   - 19 jan 2006

SocketConnection da palheta DataSnap.