GARANTIR DESCONTO

Fórum Desinstalar o Firebird usando o delphi #58840

12/09/2007

0

Boa tarde.

Pessoal, estou com o seguinte problema :

Como é que eu paro o Servidor Firebird, quando este é executado como aplicação e não como serviço?

Já tentei de tudo que encontrei na internet. Mas os exemplos disponíveis são para dar Stop no INSTSVC.EXE e não no FBSERVER.EXE.

O motivo desta consulta é que tenho uma aplicação que será instalada utilizando o Inno Setup e junto com ela, estarei mandando os arquivos do Firebird. O Firebird será executado como Aplicação.

Estou Usando o Delphi 2006 e o Zip Kit do Firebird 2.0.

Me expliquem como eu para tanto através de Linha de comando dentro da pasta Bin e como Para atrvés do Delphi usando a Api do windows ou sei lá o que. Vai ver que isto é fácil e eu é que sou limitado mesmo.

Obrigado.


Junior Miranda

Junior Miranda

Responder

Posts

16/09/2007

Sremulador

Para parar o serviço

function FirebirdBaixado:Boolean;
var
lHWND : HWND;
schm,
schs : SC_Handle;
Stat : TServiceStatus;
Espera : Integer;
begin
try
Screen.Cursor := crHourglass;
if (Win32Platform=VER_PLATFORM_WIN32_WINDOWS) then
begin
lHWND := FindWindow(´IB_Server´,´InterBase Server´);
PostMessage(lHWND,WM_CLOSE,0,0);
end
else if (Win32Platform=VER_PLATFORM_WIN32_NT) then
begin
schm := OpenSCManager(´´,nil,SC_MANAGER_CONNECT);
if (schm>0) then
begin
schs := OpenService(schm,´InterbaseServer´,SERVICE_STOP);
Application.ProcessMessages;
ControlService(schs,SERVICE_CONTROL_STOP,Stat);
CloseServiceHandle(schs);
end;
CloseServiceHandle(schm);
end;
finally
Application.ProcessMessages;
Espera := 0;
while ((FindWindow(´IB_Server´,´InterBase Server´)<>0) and
(Espera<100)) do
begin
Application.ProcessMessages;
Sleep(500);
Inc(Espera);
end;
Screen.Cursor := crDefault;
Result := ( ( FindWindow( ´IB_Server´, ´InterBase Server´ )
= 0 ) and ( FindWindow( ´FB_Server´,´FireBird Server´ ) = 0 ) );
end;
end;


Via linha de comando

gfix -shut -user SYSDBA -password masterkey


Iniciar

gfix-start -user SYSDBA -password masterkey



Responder

Gostei + 0

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

Aceitar