Einzelnen Beitrag anzeigen

dmagin

Registriert seit: 17. Jan 2003
Ort: Frankfurt
33 Beiträge
 
#1

Service und Vista - Interactive läuft nicht

  Alt 28. Nov 2008, 11:21
Moin liebe DelphiPraxis Gemeinde,

nun mal eine Frage von mir. Vielleicht habe ich gerade ein Hänger im Kopf jedoch irgendwie finde ich es nicht raus.
Also man erstellt einen ganz nornmalen Service unter Delphi (wie ich es immer schon machte).

Hier mal ein Beispiel mit Showmessage geht einfach nicht mehr (beep auch nicht).
Interactive ist auf TRUE gesetzt.

Der Service lässt sich einwandfrei kompilieren installieren ausführen usw..
Wenn ich im Timer eine Datei mitschreibe klappt es, also der timer läuft.

Das ganze unter Vista. Services lassen sich ja unter vista nur als Admin installieren. Habe ich ja auch gemacht.

Einer ne Idee??

Gruss Daniel Magin

Delphi-Quellcode:
unit u_ServiceModule;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  ExtCtrls;

type
  TService7 = class(TService)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure ServiceExecute(Sender: TService);
  private
    { Private-Deklarationen }
  public
    function GetServiceController: TServiceController; override;
    { Public-Deklarationen }
  end;

var
  Service7: TService7;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  Service7.Controller(CtrlCode);
end;

function TService7.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TService7.ServiceExecute(Sender: TService);
begin
  Timer1.Enabled:=true;
  while not Terminated do
   ServiceThread.ProcessRequests(True);

  Timer1.Enabled := False

end;

procedure TService7.Timer1Timer(Sender: TObject);
begin
// beep;
 showmessage('Hallo ich bins');

// sTemp:=TStringList.Create;
// if FileExists('c:\tmp\aa_service.txt') then
// sTemp.LoadFromFile('c:\tmp\aa_service.txt');
//
//
// sTemp.add(TimeToStr(now));
// stemp.SaveToFile('c:\tmp\aa_service.txt');
// stemp.free;

end;

end.
Daniel Magin
  Mit Zitat antworten Zitat