Hallo,
hat der
Indy TCPServer nicht einen
Exception Handler (onException) mit denen
du die Exceptions abfangen/loggen kannst?
Delphi-Quellcode:
procedure TsimpleL3DC.ServiceCreate(Sender: TObject);
var
configData : TConfigData;
begin
fLogger := TLogger.instance;
configData := TConfigData.create;
try
fFileManager := TFileManager.create(includeTrailingPathDelimiter(configData.dataPath));
fTcpListener := TidTcpServer.Create(
nil);
try
fTcpListener.OnExecute := onExecute;
fTcpListener.OnConnect := onConnect;
fTcpListener.OnDisconnect :=onDisconnect;
fTcpListener.OnException := onException;
fTcpListener.DefaultPort := configData.listenerPort;
except
on E:
Exception do
fLogger.add(0,'
Error while creating listener socket. '+E.
Message);
end;
finally
configData.Free;
end;
end;
procedure TsimpleL3DC.ServiceDestroy(Sender: TObject);
begin
if assigned(fTcpListener)
then
begin
fTcpListener.Active := false;
freeAndNil(fTcpListener);
end;
fLogger.Free;
fFileManager.Free;
end;
Ich trenne die Clients auch einfach damit den Server auf nicht aktiv zu setzen.
Der Service fliegt mir dabei aber nicht um die Ohren.
Grüße
Klaus