AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

sMachine und sService ???

Ein Thema von daredd · begonnen am 27. Feb 2008 · letzter Beitrag vom 27. Feb 2008
Antwort Antwort
Seite 2 von 2     12   
daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#11

Re: sMachine und sService ???

  Alt 27. Feb 2008, 22:35
Wieso, das macht doch die eigentliche Frage komplett! Jetzt weiss jeder der sich damit nicht auskennt von A bis Z wie man das ausführen muss!
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon
  Mit Zitat antworten Zitat
Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#12

Re: sMachine und sService ???

  Alt 27. Feb 2008, 23:19
Hallo,

Zitat von daredd:
Jetzt bekomme ich aber wenn ich das hier mache:

Delphi-Quellcode:
procedure TDM.ConnectTuneDatabase;
begin
     while IsServiceInstalled(nil, InterBaseServer) and IsServiceInstalled(nil, InterBaseGuardian)
     do
     if ConnectToDatabase(dbTune, SlashSep(BasePath, 'data\d1.gdb')) then begin
        OpenTuneTables(True);
     end;
     end;
end;
diese Fehlermeldung:
Was wird denn das, wenn es fertig ist?
Klar, die Service-Namen gehören in Hochkommata, das hast Du schon erfahren.
Aber Du versuchst herauszufunden, ob zwei bestimmte lokale Dienste installiert sind: InterBaseServer und InterBaseGuardian. Warum?!

Dazu folgende Anmerkungen:
  • Die Dienste können zwar installiert, aber nicht gestartet sein. Das prüfst Du aber bislang nicht.
  • Der InterBaseServer funkioniert auch prima, wenn der InterBaseGuardian NICHT installiert ist.
  • Der InterBaseServer muss nicht notwendigerweise als Dienst laufen, man kann ihn auch als normale Anwendung (mit Tray-Icon) starten.
  • Falls statt Interbase die OpenSource-Variante Firebird zum Einsatz kommt, müsstest Du auf ganz andere Service-Namen prüfen.
  • Bei lokalen Datenbanken (Single-User) und Firebird kommt man auch ganz ohne Dienst aus; eine kleine DLL im Verzeichnis Deiner Anwendung beinhaltet den sog. Embedded Server -- ganz ohne Installation.
  • Die Datenbank kann sich ja auch auf einem Server im Netzwerk befinden; wenn Du den Servername nicht kennst oder keine Rechte für die Remote-Abfrage hast, schlägt obiger Code sowieso fehl.
Zusammenfassung:
Nur unter ganz eng definierten Bedingungen ist es sinnvoll zu prüfen, ob der Interbase-Dienst installiert und gestartet ist. In allen anderen Fällen ist es unkomplizierter, einfach einen Versuch zu starten und die Datenbank zu öffnen. Im Fehlerfall kannst Du aus der Fehlermeldung ablesen, was schief gegangen ist

Achim
Achim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz