Mit dieser
Unit erspare ich mir doppelten Code und erzeuge eine TIdHTTP-Instanz
Delphi-Quellcode:
unit HTTPObject;
interface
uses
System.Classes, IdHTTP, IdSSLOpenSSL;
type
THTTPObject =
class(TIdHTTP)
private
IOHndl: TIdSSLIOHandlerSocketOpenSSL;
public
constructor Create(AOwner: TComponent);
destructor Destroy;
override;
end;
implementation
constructor THTTPObject.Create(AOwner: TComponent);
begin
inherited;
IOHndl := TIdSSLIOHandlerSocketOpenSSL.Create(
nil);
Request.BasicAuthentication := True;
HandleRedirects := False;
IOHandler := IOHndl;
ReadTimeout := 10000;
end;
destructor THTTPObject.Destroy;
begin
IOHndl.Free;
inherited;
end;
end.
Delphi-Quellcode:
aHTTP := THTTPObject.Create(nil);
try
X := aHTTP.Get( --- );
finally
aHTTP.Free;
end;
Obiger Aufruf ist in einem Thread.
Wie kann ich nun bei Programmbeendigung dieses Get() sofort unterbrechen?
Den Thread terminieren funktioniert leider nicht wegen dem Get() was noch am arbeiten ist.