Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: SQL Fehler, wenn Exe in Autostart

  Alt 11. Mär 2009, 19:34
Danke schon mal für die vielen antworten. Ich habe jetzt folgende Routine geschrieben.

Delphi-Quellcode:
//Abfrage in der OnCreate von Form1
if ServiceGetStatus('', 'FirebirdGuardianDefaultInstance') = 4 then
  begin
    VSTfüllen;
    PDatenbankdienst.Caption := 'Datenbank gestartet';
    PDatenbankdienst.Color := clLime;
  end
  else
  begin
    PDatenbankdienst.Caption := 'Datenbank wird gestartet';
    PDatenbankdienst.Color := clred;
    TAufDienstWarten.Enabled := true;
    TTimeOutDienst.Enabled := true;
  end;

//Timer 1 Datenbank Dienst wird im 1 Sec. Takt abgefragt
procedure TForm1.TAufDienstWartenTimer(Sender: TObject);
begin
  if ServiceGetStatus('', 'FirebirdGuardianDefaultInstance') = 4 then
    begin
      VSTfüllen;
      TAufDienstWarten.Enabled := false;
      TTimeOutDienst.Enabled := false;
    end;
end;

//Timer 2 Datenbank wird als nicht geöffnet angegeben. TimeOut Fehler
procedure TForm1.TTimeOutDienstTimer(Sender: TObject);
begin
  ShowMessage('Der Datenbankdienst konnte nicht gestartet werden'+#13#10+'Bitte starten Sie das Programm neu');
  TAufDienstWarten.Enabled := False;
  TTimeOutDienst.Enabled := False;
end;

//VSTFüllen wird nur bei gestartetem Dienst über Timer1 ausgeführt, jedoch hier nochmal die Abrage, falls die Funktion
//später irgendwann nochmal von einer anderen Stelle im Programm aufgerufen wird.
procedure TForm1.VSTFüllen;
var
  Daten : TOMB256PLUS;
  Count : Integer;
begin
if ServiceGetStatus('', 'FirebirdGuardianDefaultInstance') = 4 then
  begin
  if not QryMB256PLUS.Active then
    QryMB256PLUS.Open;
Habe das ganze dann ausprobiert, in dem ich den Dienst gestoppt habe und wieder gestartet habe. Funktioniert dann auch.
Aber beim Windows Start immer noch nicht. Ich vermute das ein anderer Dienst abgefragt wird, kann das sein ?
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat