AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi NT-Service starten und dann 50% CPU Auslastung
Thema durchsuchen
Ansicht
Themen-Optionen

NT-Service starten und dann 50% CPU Auslastung

Ein Thema von ueding · begonnen am 16. Jul 2007 · letzter Beitrag vom 9. Mär 2009
Antwort Antwort
Seite 1 von 3  1 23      
ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#1

NT-Service starten und dann 50% CPU Auslastung

  Alt 16. Jul 2007, 17:19
Hallo
ich habe mit diesem TUT einen Dienst erstellt
wenn ich jetzt diesen Dienst starte, habe ich 50% CPU Auslastung (dualCore CPU).
Ich habe nachstehenden Code geändert.

Delphi-Quellcode:
procedure TService1.Timer2Timer(Sender: TObject);
begin
 showMessage('timer 2');
end;
Zeitinterwal 10 Sekunden

Delphi-Quellcode:
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
  showMessage('OnStart');
  Started := True;
  timer2.Enabled := true;
   showMessage('Timer eingeschaltet')
end;
Was muss ich machen damit die CPU Auslastung zurück geht ?

Danke schon mal für Eure HILFE


Gregor
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 16. Jul 2007, 17:21
Du musst ein wenig Rechenzeit freigeben.
Delphi-Quellcode:
procedure TServiceExecutionRestriction.ServiceExecute(Sender: TService);
begin
  while not Sender.Terminated do
  begin
    Sender.ServiceThread.ProcessRequests(True); // Rechenzeit freigeben
  end;
end;
  Mit Zitat antworten Zitat
ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 16. Jul 2007, 17:32
Danke für die schnelle Hilfe

geht

Gregor
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 16. Jul 2007, 17:45
Ähm, was soll das ShowMessage in dem Dienst? Ein Dienst läuft in einer anderen WindowsStation auf einem anderen Desktop, den der Benutzer nie zu sehen bekommt, es sei denn es handelt sich um einen interaktiven Dienst. Diese stellen aber eine Sicherheitslück dar und Microsoft rät davon ab solche Dienste zu nutzen. Hinzukommt, dass Windows Vista aus eben diesen Gründen keine interaktiven Dienste mehr unterstützt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 16. Jul 2007, 18:14
ich stimme luckie zu. Jedoch unterstützt Messagebox das anzeigen einer Message über alle Desktops hinweg. Ich glaub in der Hinsicht ist Vista weiterhin inkonsequent.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 17. Jul 2007, 07:39
Hallo Luckie


Zitat von Luckie:
Ähm, was soll das ShowMessage in dem Dienst? Ein Dienst läuft in einer anderen WindowsStation auf einem anderen Desktop, den der Benutzer nie zu sehen bekommt, es sei denn es handelt sich um einen interaktiven Dienst. Diese stellen aber eine Sicherheitslück dar und Microsoft rät davon ab solche Dienste zu nutzen. Hinzukommt, dass Windows Vista aus eben diesen Gründen keine interaktiven Dienste mehr unterstützt.
Der Dienst hat später keine ShowMessage mehr.

Den Dienst kann mit Projekt1.exe INSTALL Installieren,
mit Projekt1.exe UNINSTALL Deinstallieren.

Wie kann ich den Dienst denn starten ?

Projekt1.exe START geht nicht.

Danke

Gregor
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 17. Jul 2007, 08:08
Zitat von SirThornberry:
ich stimme luckie zu. Jedoch unterstützt Messagebox das anzeigen einer Message über alle Desktops hinweg. Ich glaub in der Hinsicht ist Vista weiterhin inkonsequent.
Nein, aber MS hat eine spezielle API für Messageboxes für genau diesen Fall zur Verfügung gestellt, iirc.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
17. Jul 2007, 09:35
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
tekkyeah

Registriert seit: 24. Nov 2003
27 Beiträge
 
Delphi 2006 Professional
 
#9

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 9. Mär 2009, 11:21
Hallo zusammen, interessanter Thread,
ich habe einen Dienst der wunderbar läuft, aber das gleiche Problem mit der Auslastung der CPU.
Dann habe ich das hier gefunden

Zitat:
Delphi-Quellcode:
procedure TServiceExecutionRestriction.ServiceExecute(Sender: TService);
begin
  while not Sender.Terminated do
  begin
    Sender.ServiceThread.ProcessRequests(True); // Rechenzeit freigeben
  end;
end;
Nur, wie kann ich das einbinden ?
Die Prozedur wird von Delphi (BDS 2006) immer abgelehnt...
Kann mir jemand weiterhelfen ?

Gruß
Holger
Holger
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: NT-Service starten und dann 50% CPU Auslastung

  Alt 9. Mär 2009, 11:30
Zitat von tekkyeah:
Die Prozedur wird von Delphi (BDS 2006) immer abgelehnt...
Endlich mal was neues. Sonst heißt es immer "Es kommt ein Fehler."

Überleg mal bitte, was wir jetzt wissen müssten, um dir helfen zu können.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:57 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