Fórum Service e FBServer #47053

29/09/2004

0

Olá,

O problema é o seguinte. Fiz um programa que roda como um service do Windows.
Só que como ele acessa uma base Firebird, na inicialização do Windows ele está sendo ´startado´ antes do FBServer.
Existe algum modo dele aguardar até que o FBServer esteja rodando ou informar ao windows para só inicia-lo após o FBServer.

Desde já agradeço


Marcelo.l

Marcelo.l

Responder

Posts

29/09/2004

Vinicius2k

Colega,

Nunca implementei nada parecido, mas uma idéia seria colocar o seu serviço como dependente do serviço do FB (sendo honesto, não sei como fazer, mas se vc já conseguiu criar sua aplicação como serviço, deve ser um dos parametros da criação deste serviço)... com isso o Windows *deve* entender que precisa startar o FB primeiro...

Outra idéia (acho que essa seria uma ´gambiarra´) seria vc só se conectar ao banco se o FB estiver rodando... colocando seu processo de conexão dentro de um laço de while que ficaria testando se o FB já está rodando antes de conectar-se...
Um exemplo de função para testar :
function FirebirdIsRunning: Boolean;
begin
  Result:= Boolean(FindWindow(´fb_server´,´Firebird Server´));
end;


Espero ter ajudado...
T+


Responder

Gostei + 0

29/09/2004

Afarias

|uma idéia seria colocar o seu serviço como dependente do serviço do FB


Exatamente isso!

Na propriedade DEPENDENCIES do seu TService, adicione uma entrada para ´InterBaseServer´ (IB 6.0 ou FB 1.0) -- o nome do serviço FB 1.5 eu não lembro agora mas deve ser algo como ´FirebirdServer´ -- no Delphi vai aparecer a lista dai vc vê.


T+


Responder

Gostei + 0

29/09/2004

Marcelo.l

Obrigado a todos.

Vou tentar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar