Hallo Leute
Ich habe einen NT Service programmiert, welcher zwar interaktiv mit SYSTEM Account läuft, jedoch habe ich bis jetzt nichts angezeigt (kein Form nichts).
Nun muss ich aber doch ein Form anzeigen.
Das funzt eigentlich auch, aber beim beenden des Service krieg ich eine Zugriffsverletzung im Service. Der Service beendet dann zwar "normal" aber der Fehler irritiert mich stark. Woran könnte das liegen? Ich öffne das Form im Execute-Teil des Service und beim beenden des Service ist es schon längst wieder geschlossen!
seht euch den Screenshot an.
Was man noch dazu sagen muss... dieser fehler tritt nur auf wenn ich das Formular öffne (form5.show). Wenn ich diesen Befehl aus meinem Execute Teil des Service weglasse ist alles wieder ok...
woran könnte das liegen?
gruss und danke schonmal
hier der Codeteil:
Delphi-Quellcode:
procedure Thiltiservice.ServiceExecute(Sender: TService);
begin
if wfirststatus=1 then // Erster Start des Service
begin
logfileschreiben('This is the first time the service comes up! Please choose your location...');
form5.Show;
end else
begin
logfileschreiben('This service is not the first time started!');
end;
logfileschreiben('Service >> Execute');
logfileschreiben('Service-Timing (ms): '+inttostr(timer1.interval));
timer1.Enabled:=true; //Timer starten
if timer1.Enabled=true then
begin
logfileschreiben('Service-Timer already enabled');
end else
begin
logfileschreiben('Service-Timer not enabled!');
end;
while not hiltiservice.Terminated do
begin
//---Service Status abchecken----
servicethread.ProcessRequests(true);
//---Service Status abchecken----
end;
timer1.enabled:=false;
timer2.Enabled:=false;
logfileschreiben('Service-Timer disabled');
logfileschreiben('Polling-Timer disabled');
end;