TidHTTPServer beenden --> Exception "Operation abgeb
Hi.
Delphi-Quellcode:
löst eine Exception aus bei idCustomTCPServer procedure TIdListenerThread.Run; (Zeile 901, Delphi 2007 Pro mit Indy 10).
THTTPServer = class(TIdHTTPServer)
destructor THTTPServer.Destroy; begin Self.Shutdown; Application.ProcessMessages; Active := False; inherited Destroy; end;
Delphi-Quellcode:
Fehlermeldung: Operation abgebrochen.
LIOHandler := Server.IOHandler.Accept(Binding, Self, LYarn);
if LIOHandler = nil then begin // Listening has finished Stop; Sys.Abort; // <-- hier Wieso, weshalb, warum? Es ist kein Client verbunden. Danke für Tips! |
Re: TidHTTPServer beenden --> Exception "Operation a
*PUSH* Laut den Sources von Indy dürfte dieser SessionCleanupThread eigentlich nur aktiv sein, wenn
SessionState := True; oder SessionTimeOut > 0; Ich habe aber:
Delphi-Quellcode:
*grummel* Jedes Mal ne Exception beim ordnungsgemäßen Beenden. Das nervt! *help*
SessionState := False;
SessionTimeOut := 0; |
Re: TidHTTPServer beenden --> Exception "Operation a
du solltest nach dem setzen von Active so lange warten bis er auch wirklich inaktiv ist.
|
Re: TidHTTPServer beenden --> Exception "Operation a
Also ich habe festgestellt, dass es definitiv an Indy liegen muss. Sogar dieser Code führt zur Exception (s.o.) beim Programm beenden:
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdCustomTCPServer, IdCustomHTTPServer, IdHTTPServer, idContext; type TForm2 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; h: TIdHTTPServer; implementation {$R *.dfm} procedure TForm2.FormCreate(Sender: TObject); begin h := tidhttpserver.Create(NIL); h.Active := True; end; procedure TForm2.FormDestroy(Sender: TObject); begin h.Free; end; |
Re: TidHTTPServer beenden --> Exception "Operation a
Auch, wenn du Active auf False setzt vor dem Destroy?
|
Re: TidHTTPServer beenden --> Exception "Operation a
Ja.
|
Re: TidHTTPServer beenden --> Exception "Operation a
Mach das mal im OnClose und nicht OnDestroy
|
Re: TidHTTPServer beenden --> Exception "Operation a
Das Selbe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 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