Hallo,
da wollte ich mal einen Dienst programmieren und schon bin ich der Verzeiflung nahe.
ich hab einfach eine Service-Anwendung erstellt.
Das funktioniert:
Delphi-Quellcode:
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
AssignFile(f, 'C:\testdatei.txt');
Rewrite(f);
WriteLn(f,DatetimeToStr(now)+': Hallo, jemand da?');
CloseFile(f);
// DB_airport.Params.Values['Server'] := '192.168.178.45';
// DB_airport.Params.Values['Port'] := '3051';
// DB_airport.Params.Values['DataBase'] := 'Test';
// DB_Airport.Connected:=True;
AssignFile(f, 'C:\testdatei.txt');
Rewrite(f); // <=======
WriteLn(f,DatetimeToStr(now)+': Datenbank verbunden');
CloseFile(f);
end;
Das funktioniert nicht:
Delphi-Quellcode:
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
AssignFile(f, 'C:\testdatei.txt');
Rewrite(f);
WriteLn(f,DatetimeToStr(now)+': Hallo, jemand da?');
CloseFile(f);
// DB_airport.Params.Values['Server'] := '192.168.178.45';
// DB_airport.Params.Values['Port'] := '3051';
// DB_airport.Params.Values['DataBase'] := 'Test';
// DB_Airport.Connected:=True;
AssignFile(f, 'C:\testdatei.txt');
Reset(f); //<============
WriteLn(f,DatetimeToStr(now)+': Datenbank verbunden');
CloseFile(f);
end;
von einer Anmeldung bei der Datenbank ganz zu schweigen.
Fehlermeldung: Dienst "Service1" wurde auf "lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatisch angehalten, wenn sie nicht von anderen Diensten oder Programmen verwendet werden.
Hat jemand dazu eine Idee?