Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

samuel_corf

Erro ao subir serviço do windows

Recommended Posts

Olá pessoal, estou com um problema aqui e precisava da ajuda de vocês.

 

É o seguinte, eu desenvolvi um serviço em delphi que usa web services. Bom na verdade este serviço deve rodar no servidor de um cliente que tem o Windows Server 2003(sp2). O problema é que parece que este serviço está entrando em conflito com o IIS do windows, pois quando vou rodá-lo e os serviços do iis estão rodando também, é retornado um erro dizendo que o serviço não respondeu em tempo hábil. Quando o iis não está rodando o serviço sobe normalmente.

 

Além deste problema tenho outro, o serviço possui um trayIcon, e este nunca está sendo exibido no windows server.

 

OBS: Este serviço já foi testado no windows xp e está funcionando perfeitamente.

 

To garrado com isso a mais de uma semana, por favor me ajudem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@samuel_corf,

 

Se o servidor tiver algum serviço utilizando a porta 80 ou 8080 e sua aplicação utilizar a mesma porta, você invariavelmente terá problemas, verifique qual porta está disponível e utilize-a em sua aplicação ou, se for necessário utilizar uma porta 80, por exemplo, troque a porta padrão do IIS para 8080.

 

Enfim, utilize em sua aplicação uma porta que não está em uso no servidor que você não terá problemas.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem pessoal, até hoje não consegui resolver meu problema. Descobri que o erro não acontece somente quando tenho o iis, acontece em qualquer computador que tenha o windows server. O estranho é que quando rodo o serviço ele funciona beleza, depois de algum tempo passa a não subir mais.

Vi algo na net falando sobre a incompatibilidade de serviços do delphi com o windows server. Inclusive quando o serviço é criado no delphi ele gera um comentário automaticamente.

Windows 2003 Server requires StartServiceCtrlDispatcher to be called before CoRegisterClassObject, which can be called indirectly by Application.Initialize. TServiceApplication.DelayInitialize allows Application.Initialize to be called from TService.Main (after StartServiceCtrlDispatcher has been called).

 

Delayed initialization of the Application object may affect events which then occur prior to initialization, such as TService.OnCreate. It is only recommended if the ServiceApplication registers a class object with OLE and is intended for use with Windows 2003 Server.

Application.DelayInitialize := True;

 

Já tentei colocar essa propriedade como true, porém não funcionou.

Será que alguém pode me ajudar pelo amor de deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.