Hallo Luckie,
XP hält meinen Dienst mit dem folgenden Hinweis an:
Zitat:
Einige Dienste werden automatisch angehalten wenn sie sich im Leerlauf befinden.
XP hat mit dem Hinweis das sich der Dienst im Leerlauf befindet auch nicht ganz unrecht da er nur einen
TCP-Server startet.
W2k läßt ihn einfach durchlaufen.
Den Aufruf von OSVersionEx mag zumindest
W2k nicht, XP habe ich gerade nicht vorrätig. Der sieht bei mir so aus:
Delphi-Quellcode:
procedure TCocoControl.ServiceCreate(Sender: TObject);
var
os : TOSVERSIONINFO;
begin
asLastLogOff := TStringList.Create;
try
os.dwOSVersionInfoSize := SizeOf(
os);
GetVersionEx(
os);
if (
os.dwMajorVersion >= 5)
and (
os.dwMinorVersion >=1)
then
OSXP := TRUE
else
OSXP := FALSE;
except
on E:
Exception do begin
OSXP := TRUE;
WriteLog('
OSXP.log', E.
Message);
end;
end;
end;
// procedure ServiceCreate
Sobald ich GetVersionEx auskommentiere no Problem. Der Dienst läuft unterm Systemkonto, Rechte sollten also vorhanden sein.