Problema co Tservice

Delphi

26/09/2005

Ola, :roll:

Eu estou criando um Tservice que ele chega proteção de um sistema via rede usando os componetes do indy o serviço esta excultado normalmente mais quando vou finalizar ele pelo PopupMenu no trayicon ele fica ainda no gerenciado de tarefa do windows, alguem poderia mim ajudar...


muito obrigado !!!!


Scopyon

Scopyon

Curtidas 0

Respostas

Ariovaldo

Ariovaldo

26/09/2005

Tenta Fazer o seguinte:
No evento onde vc fecha o Cara coloca um Application.ProcessMensages;


GOSTEI 0
Scopyon

Scopyon

26/09/2005

ola amigo, :cry:


Eu coloquei mais fico da mesma forma...ja tentei varias formas mais ñ deu certo.


GOSTEI 0
Massuda

Massuda

26/09/2005

Você tem um único programa implementando o serviço mais a interface com o usuário ou tem dois programas independentes?

Como você está parando seu serviço?

Você está parando a comunicação via Indy no evento OnStop do seu serviço?


GOSTEI 0
Scopyon

Scopyon

26/09/2005

Ola Massuda,

1)
Eu tenho um unico programa implementado as dua coisa, a interface com usuário ainda vou fazer, os componetes que estão no serviço são:

TIdAntiFreeze, TRxPopupMenu, TRxTrayIcon, TIdTCPServer, TIdThreadMgrDefault... Tem algum problema.

2)
no evento OnStop mais ja coloquei varios forma para tenta fecha:

ServAuto.IdThreadMgrDefault1.GetThread.Suspend;
ServAuto.SSocket.Active:=False;

3)sim


Muito obrigado!!! :lol:


GOSTEI 0
Massuda

Massuda

26/09/2005

Eu tenho um unico programa implementado as dua coisa...
Geralmente o que se faz é ter dois programas separados, um só com o serviço (pois um serviço não pode, por default, interagir com o usuário) e outro com a interface, que comunica com o serviço via, por exemplo, TCP/IP (Indy) ou usando [i:0f03622ada]memory mapped files[/i:0f03622ada] (lamento, não tenho nenhum exemplo simples disso).

Sobre como iniciar/parar o serviço a partir do programa com a interface com o usuário, dê uma pesquisada no fórum pela função OpenSCManager; essa função do Windows é o ponto de partida para tudo que é relacionado com o gerenciamento de serviços do Windows.

...no evento OnStop mais ja coloquei varios forma para tenta fecha:
Para parar o servidor Indy, geralmente basta fazer...
IdTCPServer1.Active := False;
...mas as versões que vem junto com o Delphi contem bugs no código que pára o servidor; se for o caso, o melhor seria você atualizar seu Indy.


GOSTEI 0
Scopyon

Scopyon

26/09/2005

Ola Boa tarde,

Eu vou te explica melhor o meu problema, massuda e o seguinte eu tenho uma programa com banco de dados certo esse de automação o que fiz, crie um serviço que fica no servido quando abre o meu programa de automação ele vai manda a verificação para o servido que ele retorna habilitação do sistema, depois quando ele fica no acesso do usuário ele manda para o serviço para verifica a data e hora para todos os sistemas que estão em rede ficarem com a mesma data e hora do servidor...

Como vc acha que eu poderia fazer melhor isso...

Muito obrigado a todo...


GOSTEI 0
POSTAR