Hallo,
ich habe es mit
den o.g. Tips ausprobiert, aber bislang keinen Erfolg gehabt.
Zur Vereinfachung und auch für mein Verständnis habe ich mir jetzt einen Dienst geschrieben, der nur einen Registry-Wert (ist vorhanden) ausliest und in einer Log-Datei das Ergebnis vermerkt und sonst nichts weiter macht. Die einzige Procedure die ich hinzugefügt habe, ist die für das Ereignis
OnStart.
Ich habe denselben Code in einer Anwendung gehabt. Dort hat das alles prima geklappt. Nach dem Portieren in den Dienst geht das mit dem Auslesen der Registry nicht mehr.
Delphi-Quellcode:
Procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
Var
Reg : TRegistry;
Quelle : String;
F : Text;
Begin
Reg:=TRegistry.Create;
Try
Reg.RootKey:=HKEY_CURRENT_USER;
If Reg.OpenKeyReadOnly('Software\Olympus\DSSPlayer2002\Dictation
Module\DownLoad\InstallSetting') Then
Quelle:=Reg.ReadString('DictationPath')+'\'
Else
Quelle:='Error';
Finally
Reg.Free;
End;
AssignFile(F,'Test.log');
{$I-}
ReWrite(F);
WriteLn(F,Quelle);
CloseFile(F);
{$I+}
End;
Wo liegt mein Fehler? Bin völlig ratlos!