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.