AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dienst bringt "Zugriff verweigert" beim Herunterfahren

Dienst bringt "Zugriff verweigert" beim Herunterfahren

Ein Thema von jensw_2000 · begonnen am 16. Jan 2006 · letzter Beitrag vom 19. Jan 2006
Antwort Antwort
jensw_2000
(Gast)

n/a Beiträge
 
#1

Dienst bringt "Zugriff verweigert" beim Herunterfa

  Alt 16. Jan 2006, 01:03
Ich habe ein Problem beim Debuggen eines Dienstes.
Das Beenden / Neustarten des Dienstes funktiontert im laufenden Betrieb immer fehlerfrei.
Nur beim Herunterfahren / Neustarten von Windows (mit gestartetem Dienst) erhalte ich oft eine Fehlermeldung "Systemfehler 5 , Zugriff verweigert".

Der Dienst läuft unterm lokalen Systemkonto. Er hat ein TForm, das beim Dienststart erzeugt wird, und das interaktiv unter dem jeweils angemeldeten Benutzer eingeblendet wird.

Der Fehler ist derb schwehr zu finden, da er nur beim Herunterfahren des Systems auftritt.
Hat jemand dazu eine Idee ?


Hier der Code der Ereignisbehandlungsroutinen "TService.OnStop" und "TMain.OnDestroy".

Code im OnStop des Dienstes

Delphi-Quellcode:
procedure TCsService.ServiceStop(Sender: TService;
  var Stopped: Boolean);
begin
  service.stopped := true;
  beep();
  if assigned(mainform.Main) then
  begin
    mainform.Main.ServiceStopped := true;
    mainform.Main.LEDStateTimer.Enabled := false;
  end;
  sleep(800);
end;

Code im OnDestroy des "Mainforms"

Delphi-Quellcode:
procedure Tmain.FormDestroy(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to aThreads.count - 1 do
    TWorkerThread(aThreads[i]).Terminate;

  aJobList.Finalize(athreads.count);

  while aThreads.Count > 0 do
  begin
    with TWorkerThread(aThreads[0]) do
    begin
      WaitFor;
      Free;
    end;
    aThreads.Delete(0);
  end;
  aThreads.Free;
  aJoblist.Clear;
  aJobList.Free;
end;


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dienst bringt "Zugriff verweigert" beim Herunt

  Alt 16. Jan 2006, 01:07
Und was macht der Dienst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: Dienst bringt "Zugriff verweigert" beim Herunt

  Alt 16. Jan 2006, 01:21
Er ruft in Intervallen ein paar PC's über ISDN an, und holt von dort Informationen ab.
Die "Jobsteuerung" ist auf Alzaimars genialem Thread-Job Beispiel aufgebaut.

Wenn ein Thread läuft, schreibt er die abgeholten Informationen in eine DB und trennt dann die IDSN Verbindung.

Leider kann man den Fehler daran nicht festmachen. Er triff auch auf, wenn alle Threads "schlafen", also auf das Hinzufügen neuer Jobs warten.
Der Dienst macht also ausser einem WaitForSingleObject pro Thread nichts.

"Leider" kommt der Fehler nicht generell, so das man ihn mit Auskommentieren von Codepassagen lokalisieren könnte. Die Wahrscheinlichkeit, das Windows beim Heruntrfahren "meckert", liegt bei 10 bis 20%.


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

Re: Dienst bringt "Zugriff verweigert" beim Herunt

  Alt 17. Jan 2006, 10:18
Hat noch Jemand eine konstruktive Idee ?

*Push*
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#5

Re: Dienst bringt "Zugriff verweigert" beim Herunt

  Alt 19. Jan 2006, 09:49
Ein Versuch noch ...
*push*

Ich habe dem Fehler noch nicht gefunden.

Wer oder was kann dem lokalen Systemkonto beim Herunterfahren von Windows den Zugriff verweigern,
oder anders gefragt...
Was müsste das Systemkonto beim Beenden eines Dienstes und bei herunterfahrendem Windows versuchen, damit ein Fehler "Zugriff verweigert" ausgelöst werden kann ?

Hat da wirklich niemand eine Idee ?


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:38 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