Fórum Programa na inicialização #365711
31/10/2008
0
Tenho um software que funciona como servidor que está na inicialização da maquina (C:\Documents and Settings\Alexandre\Menu Iniciar\Programas\Inicializar), para que toda vez que o computador for desligado ele seja executado.
O problema é que ele usa BD (Firebird 2.1), e na maioria das vezes ele entra antes do firebird startar, conseqüentemente dando erro na hora de abrir.
Ai, muitas vezes o meu cliente reclama que a aplicação não está funcionando e quando vou ver o software servidor não abrir por causa do erro citado.
Alguém teria uma idéia para solucionar esse problema????
Japa192
Curtir tópico
+ 0Posts
31/10/2008
Wdrocha
caso não esteja...tente usar o Firebird Embedded....
Gostei + 0
31/10/2008
Japa192
Gostei + 0
31/10/2008
Nerdex
Cara, para isso você deveria implementar um controle para capturar o estado sobre o status do serviço do FireBird.
Veja na unit WinSvc do teu Delphi as especificações ([b:9baa94e5f0]windows services[/b:9baa94e5f0]), como esta:
function ServiceGetStatus(sMachine, sService : string) : DWord; var schm : SC_Handle; //service control manager handle schs : SC_Handle; // service handle ss : TServiceStatus; // service status dwStat : DWord; // current service status begin dwStat := -1; // connect to the service control manager schm := OpenSCManager( PChar(sMachine), Nil, SC_MANAGER_CONNECT); // if successful... if(schm > 0)then begin // open a handle to the specified service // we want to query service status schs := OpenService( schm, PChar(sService), SERVICE_QUERY_STATUS); // if successful... if(schs > 0)then begin // retrieve the current status //of the specified service if (QueryServiceStatus( schs, ss)) then begin dwStat := ss.dwCurrentState; end; // close service handle CloseServiceHandle(schs); end; // close service control manager handle CloseServiceHandle(schm); end; Result := dwStat; end;
[size=9:9baa94e5f0][color=darkblue:9baa94e5f0]Código de exemplo:[/color:9baa94e5f0][/size:9baa94e5f0]
[size=9:9baa94e5f0][color=green:9baa94e5f0][url]http://www.infojet.cz/program/delphi/tips/tip0027.html[/url][/color:9baa94e5f0][/size:9baa94e5f0]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)