Einzelnen Beitrag anzeigen

Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

Thread.Execute - Registry auslesen - Problem

  Alt 17. Jan 2005, 12:24
Ich habe einen Dienst, der in der serviceExecute-Methode einen Thread aufruft. In diesem Thread möchte ich in der Execute-Methode prüfen, ob in der Registry in einem bestimmten Eintrag ein bestimmter Wert steht und wenn ja soll er was machen, ansonsten übergehen. Sieht folgendermassen aus:


Delphi-Quellcode:
procedure TimeManagerThread.Execute;
   var
      neueinlesen: STring;
   begin
      FormCreate;
      while not Terminated do
  1* begin
         //Registry auslesen
         reg.RootKey:= HKEY_LOCAL_MACHINE;
         //Gibt es den benötigten Key in Registry?
         if reg.KeyExists('Software\TM\7.0\General') then
            begin
               reg.OpenKey('Software\TM\7.0\General', false);
               neueinlesen:= reg.ReadString('again');
               reg.CloseKey;
               if (neueinlesen = '159') then
                  FormCreate;
  2* end;
         TimerTimer(self);
         end;
      Timer.Free;
      ClockTimer.Free;
   end;
Problem ist nun folgendes. Lasse ich den Teil zwischen 1* bis 2* weg, läuft das ganze einwandfrei, nehme ich das ganze aber mit in den Quellcode hinein, kann ich den Dienst starten, aber er lässt sich nicht mehr beenden.

Woran kann das liegen? Irgendwer eine Ahnung?
Susanne
  Mit Zitat antworten Zitat