IDHTTPworkbegin et IDHHTPwork ne sont pas exécutés

Fermé
rosy01 Messages postés 39 Date d'inscription dimanche 10 novembre 2013 Statut Membre Dernière intervention 21 juin 2014 - Modifié par rosy01 le 24/04/2014 à 23:34
je suis entrain de créer un logiciel de téléchargement en delphi, j'utilise le composant progressBar pour indiquer la progression du téléchargement, mais ce dernier n'indique rien pendant le téléchargement, j'ai remarqué que le code inclu dans ces méthodes n'est pas exécutés t je comprends pas pourquoi, voici mon code:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
StdCtrls, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL,
IdSSLOpenSSL, ComCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
ProgressBar1: TProgressBar;

procedure Button1Click(Sender: TObject);
private
IdHTTP: TIdHTTP;
IdSSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
procedure getFile;
procedure IdHTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;const AWorkCountMax: Integer);
procedure IdHTTPWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
procedure IdHTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
getFile;
end;

procedure TForm1.IdHTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;const AWorkCountMax: Integer);
begin

if AWorkMode = wmRead then
begin
ProgressBar1.Max := AWorkCountMax;
ProgressBar1.Position := 0;
end;
end;

procedure TForm1.IdHTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin

if AWorkMode=wmRead then
ProgressBar1.Position := AWorkCount;
end;

procedure TForm1.IdHTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position := 0;
end;


// téléchargement:
procedure TForm1.getFile;
var pathDest: String;
url:string;
fs:TFileStream;
fileName:String;
begin
fileName:=edit1.text;
pathDest:='downloads\'+fileName;
url:='https://192.168.1.108/'+fileName;
fs:=TFileStream.Create(pathDest,fmCreate);
//http:
IdHTTP := TIdHTTP.Create(nil);
IdHTTP.Request.BasicAuthentication := True;
IdHTTP.Request.Username := 'nona';
IdHTTP.Request.Password := 'mary';
//SSL:
IdSSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP.IOHandler := IdSSLIOHandler;
try
IDhttp.get(Url, TStream(Fs));
finally
fs.Free;
IdHTTP.free;
end;
end;

end.
y'a pas d'erreur dans mon code, mais je veux savoir pourquoi ça marche pas avec la barre de progression, veuillez m'aider.et merci