Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Windows Dienst wo ist das Arbeitsverzeichnis?

  Alt 9. Nov 2007, 12:24
Das ganze noch mal langsam, der Dienst soll ein paar Informationen aus einer INI Datei einlesen.
Jetzt gibt es zwei möglichkeiten:

1. Relativer Pfad
Delphi-Quellcode:
var
  ini : TIniFile;

begin
  ini := TIniFile.Create(.\einstellungen.ini');
2. Absoluter Pfad
Delphi-Quellcode:
var
  ini : TIniFile;

begin
  ini := TIniFile.Create(C:\Programme\Mein Dienst\einstellungen.ini');

Wenn ich Möglichkeit eins wähle so liegt die ini Datei irgendwo auf C: direkt oder im Windows ordner was auch immer,
was ich aber nicht möchte, meine Frage ist kann ich dem Dienst sagen das das Arbeitsverzeichnis des Dienstes
ein bestimmtes Verzeichnis ist. Wenn ich das Arbeitsverzeichnis des Diensts von C:\windows what ever auf
C:\Programme\MeinDienst\ legen könnte so würden beide oben beschrieben möglichkeiten auf die Gleiche Datei verweisen.

Der ganze Grund für diesen Ansatz liegt daran, das der Dienst nicht auf dem PC laufen soll auf dem er Programmiert wird,
d.h. bei der Entwicklung liegt das arbeitsverzeichnis Beisp. D:\Entwicklung\Mein Dienst\ und von da soll er sich die
INI Datei einlesen. Installiere ich nachher den Dienst auf einem PC soll das Arbeitsverzeichnis unter C:\Programme\Mein Dienst
liegen.

Darauf hin habe ich mich gefragt ob ich einem Dienst sagen kann wo sein Arbeitsverzeichnis liegt oder ist das fest
eingestellt und nicht änderbar?`

So müßte ich solange wie ich entwickel die ini datei irgendwo im system haben bzw. einen absoluten pfad angeben und ihn nachher
ändern. Not falls könnte ich das ja vielleicht über einem Parameter dem Dienst mittleilen wo er suchen soll. Nur eine
Lösung mit dem Arbeitsverzeichnis wäre schöner wenn gleich einfacher.

Ich hoffe jetzt ist klar worum es geht, die ermittlung des Arbeitsverzeichnis ist daher völlig egal.
  Mit Zitat antworten Zitat