Fórum Service e FBServer #47053
29/09/2004
0
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
Curtir tópico
+ 0Posts
29/09/2004
Vinicius2k
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+
Gostei + 0
29/09/2004
Afarias
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+
Gostei + 0
29/09/2004
Marcelo.l
Vou tentar.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)